2016-11-02 3 views
0

JCloudsを統合しようとしている春のブートプロジェクトがあるので、ファイルをRackspace Cloud 。以前の質問では、jcloudsがGsonとの紛争や何かのためにSpringの最新バージョンで実際に動作しないことがわかりました。 Apache jclouds java.lang.NoSuchMethodError when using Rackspace in a Spring Boot applicationJCloudsエラー:キー[rackspace-cloudservers-uk]がShaded Jarを使用している場合、プロバイダーまたはapisのリストにありません

これを回避するために、jcloudsとgsonの両方を含む影付きのjarを作成しようとしましたが、私はSpring Bootプロジェクトにそれを入れました。

My Spring BootプロジェクトではEmbed Tomcatを使用しており、InteliJを使用しています。 jcloudsのクラス名などはInteliJでOKですが、アプリケーションを実行しようとするとエラーが発生します。

Caused by: java.util.NoSuchElementException: key [cloudfiles-uk not in the list of providers or apis: {providers=[aws-cloudwatch], apis=[rackspace-cloudidentity]} 
    at org.jclouds.ContextBuilder.newBuilder(ContextBuilder.java:173) ~[jclouds-shaded-1.0-SNAPSHOT.jar:na] 

私のプロジェクトまたは作成した影付きのジャーに問題があるかどうかわかりません。 jarファイルの作成に使用したPOMは次のとおりです。あなたはすべてのjarファイルから確認サービスローダーファイルを作成するために、MavenのシェードプラグインでServicesResourceTransformerを設定する必要が

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>digital.sheppard</groupId> 
    <artifactId>jclouds-shaded</artifactId> 
    <version>1.0-SNAPSHOT</version> 

    <dependencies> 
     <dependency> 
      <groupId>com.google.code.gson</groupId> 
      <artifactId>gson</artifactId> 
      <version>2.4</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.jclouds</groupId> 
      <artifactId>jclouds-all</artifactId> 
      <version>1.9.2</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-shade-plugin</artifactId> 
       <version>2.4.3</version> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>shade</goal> 
         </goals> 
         <configuration> 
          <relocations> 
           <relocation> 
            <pattern>com.google.code.gson</pattern> 
            <shadedPattern>com.shaded.code.gson</shadedPattern> 
           </relocation> 
          </relocations> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

</project> 

答えて

1

は、単一のものにマージされています。

+0

パーフェクト、今エラーはなくなりました。 – SheppardDigital

関連する問題