java - 创建 JClouds SwiftApi 时出错 : Provider org. 无法实例化 jclouds.openstack.keystone.v2_0.KeystoneApiMetadata

标签 java jclouds

我有一些连接到 JClouds swift 存储容器的代码,它在自己的测试区运行良好,但是一旦我集成到我的项目中,我就会收到一个错误:

Exception in thread "main" java.util.ServiceConfigurationError: org.jclouds.apis.ApiMetadata: Provider org.jclouds.openstack.keystone.v2_0.KeystoneApiMetadata could not be instantiated: java.lang.IllegalStateException: java.lang.reflect.InvocationTargetException

这是在 ContextBuilder 行失败的代码:

private SwiftApi swiftApi;

public JCloudsConnector(String username, String password, String endpoint) {
      String provider = "openstack-swift";

      Properties overrides = new Properties();
      overrides.setProperty("jclouds.mpu.parallel.degree", "" + Runtime.getRuntime().availableProcessors());

      swiftApi = ContextBuilder.newBuilder(provider)
            .endpoint(endpoint)
            .credentials(username, password)
            .overrides(overrides)
            .buildApi(SwiftApi.class);
}

我使用的是相同的依赖项(JClouds 版本 1.7.3),所以我无法理解问题可能是什么,因为两者都在相同的环境中运行。

最佳答案

感谢 Ignasi Barrera,我能够通过在我的 maven POM 文件中添加 Guava 15.0 条目来对此进行排序:

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>15.0</version>
</dependency>

关于java - 创建 JClouds SwiftApi 时出错 : Provider org. 无法实例化 jclouds.openstack.keystone.v2_0.KeystoneApiMetadata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25121530/

相关文章:

java - CardLayout - 替换面板

jclouds - 使用 REST API 启动 Apache Brooklyn 应用程序

java - jclouds 和 Openstack Swift 单元测试的 transient 模式不起作用

amazon-ec2 - EC2 请求限制超出问题

java - Neo4j - 关系扩展器已弃用,使用最低共同祖先

java - 具有数据持久性的概念的名称

java - 无法解决 jclouds 输出流不完整错误

google-compute-engine - 在谷歌计算引擎上启动和停止实例

java - 我想分发 Java 应用程序

java - 从 Java (Eclipse) 管理 Jenkins 构建