首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eclipse依赖关系中的冲突jars

Eclipse依赖关系中的冲突jars
EN

Stack Overflow用户
提问于 2013-09-11 19:22:31
回答 1查看 1.4K关注 0票数 0

我的Eclipse在运行时错误地显示"Source“,当到达一行时,Problem类的一个新实例将在TopLevelDebugClass.main()中启动。请注意,这种情况只发生在Eclipse中,而不是在正常控制台模式下运行应用程序时。

我已经将问题缩小到了两个语句,这些语句与使用它们的代码一起删除后,就消除了这个问题。当我使用Maven使用mvn dependency:tree分析项目中的依赖项列表时,我得到了以下信息:

代码语言:javascript
复制
[INFO] myGroupId:myArtifactId:jar:1.0-SNAPSHOT
[INFO] +- dpdncyGroupId:dpdncyArtifactId:jar:master:1.0-SNAPSHOT:compile
[INFO] |  +- org.apache.httpcomponents:httpclient:jar:4.0:compile
[INFO] |  |  +- org.apache.httpcomponents:httpcore:jar:4.0.1:compile
[INFO] |  |  \- commons-logging:commons-logging:jar:1.1.1:compile
[INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.6.1:compile
[INFO] |  +- org.bouncycastle:bcmail-jdk16:jar:1.45:compile
[INFO] |  +- org.bouncycastle:bcprov-jdk16:jar:1.45:compile
[INFO] |  \- com.google.code.jscep:api:jar:1.1.4:compile
[INFO] |     +- org.bouncycastle:bcprov-jdk15:jar:1.45:compile
[INFO] |     \- org.bouncycastle:bcmail-jdk15:jar:1.45:compile

其中,myArtifactId对应于我正在尝试调试的Eclipse,TopLevelDebugClassdpdncyArtifactId对应于同一个Eclipse工作区中的另一个项目(myArtifactId引用dpdncyArtifactId,即)。

冲突的罐子是bcprov-jdk16/bcprov-jdk15bcmail-jdk16/bcmail-jdk15.我验证了16个版本集来自依赖工件pom.xml (顶层以下的第一个节点),而15个版本集是jscep (底部)的依赖项。与上面的树列表一致,Eclipse的Maven依赖项列出了bcprov-jdk和bcmail的两个集合,它们包含许多相同的类,其中包括导致问题的导入(org.bouncycastle.jce.PKCS10CertificationRequestorg.bouncycastle.jce.X509Principal)。

我有理由相信,这种模糊不清导致了Eclipse内部的争用(而不是本机JRE),因为它不知道从哪一个jars加载类。

我是否可以在Eclipse中解决这个争用,以便在调试器中运行我的项目?如果这是当前无法解决的Eclipse中的一个bug,那么还将考虑如何解决Maven中的问题。

最后但并非最不重要的是,请注意,我是一个新的工作,试图跟上环境。架构更改建议是受欢迎的,但不是我正在寻找的答案,因为我还没有能力进行这样的更改。本质上,这是由其他人设计的,而我只是一个新手。

EN

回答 1

Stack Overflow用户

发布于 2013-09-11 19:30:29

在您对com.google.code.jscep:api的依赖关系中,尝试使用exclusions节来防止Maven提取bcprov-jdk15工件。请注意,这只适用于您所描述的情况,在多个工件中愚蠢地分发同名类,而不是正确地进行版本控制。

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

https://stackoverflow.com/questions/18749558

复制
相关文章

相似问题

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