Java 解决;“多个Jar文件”;又名;从多个位置扫描”;
我正在从事码头服务,启动时,我得到很多:Java 解决;“多个Jar文件”;又名;从多个位置扫描”;,java,maven,jetty,hapi-fhir,tattletale,Java,Maven,Jetty,Hapi Fhir,Tattletale,我正在从事码头服务,启动时,我得到很多: SomeClass从多个位置扫描:jar:jar1!什么课,什么课,jar2!Someclass.class 所以一个类由两个JAR提供,我在运行时得到的是未定义的,这是不好的。查看其他问题,我发现tattletale可以帮助诊断问题。该报告在多个Jar文件部分列出了启动时与jetty相同的类,以及它们所在的Jar。 冲突的一个子集是: 看着 mvn dependency:tree -D verbose 我得到: +- ca.uhn.hapi.fhi
SomeClass从多个位置扫描:jar:jar1!什么课,什么课,jar2!Someclass.class
所以一个类由两个JAR提供,我在运行时得到的是未定义的,这是不好的。查看其他问题,我发现tattletale可以帮助诊断问题。该报告在多个Jar文件部分列出了启动时与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基jpaserver基依赖关系似乎吸引了jscience,而jscience吸引了javolution。但是jscience和javolution提供了一些相同的类。不存在对javolution的其他依赖关系
我的问题是,我该如何着手解决这个问题
我可以在pom.xml中做一些事情,但我想jscience需要解决,可能会崩溃?听起来像是jscience中的一个bug,他们如何打包他们的jar,可能想向他们提出一个问题 他们要么
- 有一个适当的/集中的jar和依赖项
- 或者是一个没有依赖关系的独立uber jar
/
排除导致重复类的特定可传递依赖项
此外,您可能希望运行各种重复的类/资源检查器maven插件,以查找项目中可能存在的任何其他案例。如果jscience中有javolution类,请查看这两个JAR的内容,那么它就不需要javolution.jar文件了。@JoakimErdfelt:看来所有的javolution都在jscience jar中。对我来说,依赖某样东西然后又把它包括进去是没有任何意义的。这里可以看到依赖性:您是否建议我尝试使用一些mvn魔术来排除javolution?