繁体   English   中英

Maven如何处理具有不同组ID的同一个jar

[英]How does maven handle same jar with different group-id

我正在使用不同的库,这些库引用具有不同组ID(已重定位)的不同版本的同一库。 因此,maven假定这些库是不同的库,并将它们都放在类路径中。

不过,软件包名称没有改变,因此maven中存在具有相同软件包名称的相同类。

例如,org.bouncycastle:bcmail-jdk14-1.38与org.bouncycastle:bcmail-jdk14-138就是这种情况。 但是由于两个版本是相同的,所以我不会遇到麻烦。

但是使用javax.xml.stream:stax-api-1.0-2和stax:stax-api-1.0.1时,我们没有相同的字节码,因此具有不同内容的相同类将位于类路径中。

我是对的-如果是这样,行家可以警告我并防止此类问题发生吗?

不,对于Maven,这些是不同的工件,您可能会遇到麻烦。 在类路径上具有相同类的多个版本不是一个好主意。

您可以使用强制规则

https://www.mojohaus.org/extra-enforcer-rules/banDuplicateClasses.html

如果一个类名称出现在多个jar中,则可以中断构建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM