我正在做一项码头服务,在开始的时候,我得到了很多:
SomeClass scanned from multiple locations: jar: jar1!Someclass.class, jar2!Someclass.class
因此,一个类是由两个jars提供的,而我在运行时得到的类是未定义的,这不是很好。看看其他的问题,我发现tattletale可以帮助诊断这个问题。报告中的Multiple文件部分列出了启动时与jetty相同的类以及它们所在的Jar。冲突的一个子集是:

然后看着
mvn dependency:tree -D verbose我得到:
+- ca.uhn.hapi.fhir:hapi-fhir-jpaserver-base:jar:3.7.0:compile
| | ...
| +- org.jscience:jscience:jar:4.3.1:compile
| | \- org.javolution:javolution:jar:5.2.3:compile因此,我的fhir-base-jpaserver-base依赖关系似乎吸引了jscience,而jscience正是这样做的。但是jscience和javolution提供了一些相同的类。不存在其他对javolution的依赖关系。
我的问题是,我该如何解决这个问题?
我可以在pom.xml中做一些事情,但我认为jscience需要javolution,并且可能会中断吗?
发布于 2020-10-09 11:47:04
听起来像是jscience中的一个bug,他们如何打包他们的jar,可能会想要向他们提交一个问题。
他们要么..。
dependencies.
不把这两个概念混在一起。
同时,只需使用<dependency>/<exclusions>来排除导致重复类的特定传递依赖关系。
另外,您可能希望运行各种重复的类/资源检查器maven插件,以查找项目中可能存在的任何其他情况。
https://stackoverflow.com/questions/64274684
复制相似问题