有谁知道在 Maven2 中设置特定类路径顺序的方法,而不是我目前遇到的随机顺序?
想要这样做有很多合理的理由:
- 供应商提供了一个补丁 jar,其中包含先前发布的 jar 的重写类,因此该补丁 jar 必须出现在类路径排序中的第一个位置。
- 通过遍历 pom 依赖关系发现的类路径上发现的两个 jar 在同一包中包含具有不同签名的相同类。例如:
老板
jbossall 客户端
4.2.0.GA
组织休眠
休眠
3.1
两者都包含:
org.hibernate.util.ReflectHelper.class,但是jbossall-client版本缺少getFastClass方法。
通过谷歌搜索,我发现这可能是 Maven 爱好者和面临这个特定问题的人们之间的争论点,但肯定有类路径排序的合理理由。
任何解决了这个特殊困境的人的任何建议将不胜感激!
Thanks
从版本 2.0.9 开始,maven 使用 pom 顺序作为类路径,因此您现在可以实际操作它。我们主要抑制对我们也直接包含的外部库的传递依赖。
来自maven 2.0.9的发行说明:
MNG-1412 / MNG-3111 引入了类路径上依赖项的确定性排序。过去,使用自然集合排序会导致奇怪的结果。现在,您的 pom 中保留了顺序,并通过最后添加的继承添加了依赖项。在具有冲突或重复依赖项的构建中,这可能会导致输出发生变化。简而言之,如果您在 2.0.9 中遇到奇怪的问题,请查看依赖项,看看是否在某个地方存在冲突。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)