首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven aws-java-sdk和android sdk冲突

Maven aws-java-sdk和android sdk冲突
EN

Stack Overflow用户
提问于 2018-03-14 07:43:23
回答 1查看 235关注 0票数 0

在我的maven项目中,我需要使用aws雅典娜,它将aws核心作为依赖项。然而,对于身份验证,我没有其他选择,只能使用一个提供的工件,它将android核心作为依赖项。问题是,它们都有完全相同名称的com.amazonaws.http.ExecutionContext类。但是他们有不同的方法等等。

我试着排除其中一个,但后来其中一个失败了,这意味着这些类被使用了。我现在非常沮丧,因为几乎不可能重新打包其中的一个工件来更改其中的包名。

代码语言:javascript
复制
<dependencies>
  <!-- This dependency requires aws-java-sdk-core 1.11.292 -->
  <dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-athena</artifactId>
    <version>1.11.292</version>
  </dependency>

  <!-- This dependency requires aws-android-sdk-core 2.6.16 -->
  <dependency>
    <groupId>work.commons</groupId>
    <artifactId>work-commons-authentication</artifactId>
    <version>${authz.version}</version>
  </dependency>
<dependencies>
<repositories>
  <repository>
    <id>in.house</id>
    <name>nexus</name>
    <url>http://work.name.com/content/groups/public/</url>
    <snapshots>
      <enabled>true</enabled>
      <updatePolicy>always</updatePolicy>
    </snapshots>
  </repository>
</repositories>

在运行时,我得到了这个异常:

org.springframework.web.util.NestedServletException:处理程序分派失败;嵌套异常为java.lang.NoSuchMethodError: com.amazonaws.http.ExecutionContext.setContextUserAgent(Ljava/lang/String;)

因为java和android都有确切的com.amazonaws.http.ExecutionContext类,但是java中的类没有setContextUserAgent方法。如果更改依赖关系的顺序,雅典娜连接函数就会中断。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-23 07:02:53

通过使用雅典娜JDBC驱动程序的独立JAR文件解决了这个问题。所有必需的类都有不同的包名。所以我不需要安装整个核心。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49272119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档