2017-03-23 3 views
1

私はcloudfoundryにデプロイされるgrails 2.5.3アプリケーションで作業しています。私はこれらの両方を使用する場合、私は自分のアプリケーションでエラーが発生しますプロバイダorg.springframework.cloud.cloudfoundry.CloudFoundryConnectorをインスタンス化できませんでした

//s3 service connector 
compile ("org.cloudfoundry.community:spring-cloud-s3-service-connector:1.0.0") { 
    excludes "aws-java-sdk", 'slf4j-api', 'slf4j-log4j12', 'slf4j' 
}  
//sso service connector 
compile (group: 'io.pivotal.spring.cloud', name: 'spring-cloud-sso-connector', version: '1.1.0.RELEASE') { 
    excludes 'slf4j-api', 'slf4j-log4j12', 'slf4j' 
} 

org.springframework.cloud.CloudConnector: Provider org.springframework.cloud.cloudfoundry.CloudFoundryConnector could not be instantiated

Caused by: java.lang.NoSuchMethodError: org.springframework.cloud.cloudfoundry.CloudFoundryServiceInfoCreator.(Lorg/springframework/cloud/cloudfoundry/Tags;[Ljava/lang/String;)V at io.pivotal.spring.cloud.SsoServiceInfoCreator.(SsoServiceInfoCreator.java:11)

アプリは、私は2つのコネクタを使用して、いくつかのサービスとし、それらのサービスの値を取得するためにバインドされていますこれらのサービスのそれぞれがservicesフォルダの下にMETA-INFの下にあり、これらの両方が同時に使用されている場合は、1つだけが選択されているため、エラーが発生していると思います。

の両方のためのMETA-INF/servicesフォルダはここにある:

SSOコネクタ:https://github.com/pivotal-cf/spring-cloud-sso-connector/tree/master/src/main/resources/META-INF/services

S3コネクタ:https://github.com/cloudfoundry-community/spring-cloud-s3-service-connector/tree/master/src/main/resources/META-INF/services

私はこのエラーを解決するかどうかはわかりません。私は様々な組み合わせを試みたが、どれもうまくいかないようだ。

更新

私はクラスパス上に複数のコネクタの延長LIBSを持つこのhttps://stackoverflow.com/questions/42976791/common-dependency-for-two-packages-gets-dropped-when-both-pages-are-used

答えて

1

に関連している2番目の質問は、それぞれ独自のMETA-INF/servicesで、一般的です追加しました。これは問題ではありません。あなたのother question

、あなたが持っている:

compile ("org.cloudfoundry.community:spring-cloud-s3-service-connector:1.0.0") { 
    excludes "aws-java-sdk", 'slf4j-api', 'slf4j-log4j12', 'slf4j' 
} 
//dependency tree shows 
+--- org.cloudfoundry.community:spring-cloud-s3-service-connector:1.0.0 
| \--- org.springframework.cloud:spring-cloud-cloudfoundry-connector:1.0.0.RELEASE 
|   \--- org.springframework.cloud:spring-cloud-core:1.0.0.RELEASE 
| \--- org.hamcrest:hamcrest-all:1.3 

compile (group: 'io.pivotal.spring.cloud', name: 'spring-cloud-sso-connector', version: '1.1.0.RELEASE') { 
    excludes 'slf4j-api', 'slf4j-log4j12', 'slf4j', 'spring-cloud-starter-oauth2' 
} 
//dependency tree shows 
+--- io.pivotal.spring.cloud:spring-cloud-sso-connector:1.1.0.RELEASE 
| \--- org.springframework.cloud:spring-cloud-spring-service-connector:1.1.1.RELEASE 
|   \--- org.springframework.cloud:spring-cloud-core:1.1.1.RELEASE 
| \--- org.springframework.cloud:spring-cloud-cloudfoundry-connector:1.1.1.RELEASE 

をこれはspring-cloud-sso-connector:1.1.0.RELEASEspring-cloud-core:1.1.1.RELEASEに依存しながらspring-cloud-s3-service-connector:1.0.0が推移、spring-cloud-core:1.0.0.RELEASEに依存することを示しています。ビルドシステムでは、spring-cloud-coreの1つのバージョンしか取得されず、spring-cloud-core:1.0.0.RELEASEが実際に取得され、spring-cloud-sso-connectorはその古いバージョンと互換性がないと表示されます。

Maven Centralで利用可能なspring-cloud-s3-service-connector:1.1.0があります。そのバージョンにアップグレードしてください。

+0

ありがとうございました!私は 'spring-cloud-s3-service-connector:1.1.0'を使いました。これは' spring-cloud-core:1.2.1.RELEASE'を使っています。今はすべてが期待通りに機能します。 – Anthony

関連する問題