【发布时间】:2017-08-15 22:26:30
【问题描述】:
我正在开发一个将部署到 cloudfoundry 的 grails 2.5.3 应用程序。该应用程序绑定了很少的服务,为了获取这些服务的值,我使用了两个连接器:
//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:提供者 org.springframework.cloud.cloudfoundry.CloudFoundryConnector 不能 被实例化
引起:java.lang.NoSuchMethodError: org.springframework.cloud.cloudfoundry.CloudFoundryServiceInfoCreator.(Lorg/springframework/cloud/cloudfoundry/Tags;[Ljava/lang/String;)V 在 io.pivotal.spring.cloud.SsoServiceInfoCreator.(SsoServiceInfoCreator.java:11)
我相信错误正在发生,因为这些服务中的每一个在META-INF 下都有一个services 文件夹,并且当这两个服务同时使用时显然只有一个被选中。
两者的META-INF/services 文件夹都在这里:
我不确定如何解决此错误。我尝试了各种组合,但似乎都不起作用。
更新
我添加了与此https://stackoverflow.com/questions/42976791/common-dependency-for-two-packages-gets-dropped-when-both-pages-are-used 相关的第二个问题
【问题讨论】:
标签: grails spring-cloud cloud-foundry