Java 创建JClouds SwiftApi时出错:无法实例化提供程序org.JClouds.openstack.keystone.v2_0.KeystoneApiMetadata

Java 创建JClouds SwiftApi时出错:无法实例化提供程序org.JClouds.openstack.keystone.v2_0.KeystoneApiMetadata,java,jclouds,Java,Jclouds,我有一些连接到JClouds swift存储容器的代码,该容器在其自己的测试区域中运行良好,但一旦我集成到我的项目中,我会遇到一个错误: 线程“main”java.util.ServiceConfigurationError中出现异常: org.jclouds.api.ApiMetadata:提供程序 无法创建org.jclouds.openstack.keystone.v2_0.KeystoneApiMetadata 实例化:java.lang.IllegalStateException: j

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

线程“main”java.util.ServiceConfigurationError中出现异常: org.jclouds.api.ApiMetadata:提供程序 无法创建org.jclouds.openstack.keystone.v2_0.KeystoneApiMetadata 实例化: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 Barera,我能够通过在maven POM文件中添加Guava 15.0的条目来对其进行排序:

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

番石榴
番石榴
15

类路径中有哪个版本的番石榴?另外,您正在运行哪个版本的JVM?Guava版本为16.0.1,JVM 1.7.051Jclouds 1.7.3依赖于Guava 15.0,在该版本的JVM中无法使用更高版本。你能坚持吃番石榴15.0吗?非常感谢!现在问题已经解决了。不要将已解决的问题放在问题的标题中,也不要在问题中回答问题。相反,发布一个单独的答案,并通过单击答案旁边的复选标记来标记它已完成。