gpt4 book ai didi

maven-2 - Maven 类路径顺序问题

转载 作者:行者123 更新时间:2023-12-03 06:53:39 25 4
gpt4 key购买 nike

有谁知道在 Maven2 中设置特定类路径顺序的方法,而不是我目前遇到的随机顺序?

想要这样做有很多合理的理由:

  • 供应商提供了一个补丁 jar,其中包含先前发布的 jar 的重写类,因此补丁 jar 必须出现在类路径排序中的第一个。
  • 通过遍历 pom 依赖关系发现的类路径中发现的两个 jar 在同一包中包含具有不同签名的相同类。例如:

jboss jbossall-client 4.2.0.GA

org.hibernate hibernate 3.1

两者都包含:org.hibernate.util.ReflectHelper.class,但jbossall-client版本缺少getFastClass方法。

通过谷歌搜索,我发现这可能是 Maven 爱好者和面临这个特定问题的人们之间的争论点,但肯定有类路径排序的合理理由。

任何解决了这一特殊困境的人的任何建议将不胜感激!

谢谢

最佳答案

从版本 2.0.9 开始,maven 使用 pom 顺序作为类路径,因此您现在可以实际操作它。我们主要抑制对我们也直接包含的外部库的传递依赖。

摘自maven 2.0.9的发行说明:

MNG-1412 / MNG-3111 introduced deterministic ordering of dependencies on the classpath. In the past, natural set ordering was used and this lead to odd results. The ordering is now preserved from your pom, with dependencies added by inheritence added last. In builds that had conflicting or duplicate dependencies, this may introduce a change to the output. In short, if you have weird issues with 2.0.9, take a look at the dependencies to see if you have conflicts somewhere.

关于maven-2 - Maven 类路径顺序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/793054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com