Maven'版本'插件,版本号顺序

时间:2011-05-17 16:17:43

标签: maven versions

我有一个依赖于Javassist版本 3.12.1.GA 的Maven项目,并且有2个存储库(除了中央存储库):JBoss(https://repository.jboss.org / nexus / content / groups / public)和Java.net(http://download.java.net/maven/2)。

以下是每个存储库的最新Javassist版本:

  • 中环:3.12.1.GA
  • JBoss:3.12.1.GA(也包含版本3.3,见下文)
  • Java.net:3.3(唯一可用的版本)

当我运行mvn versions:display-dependency-updates时,它表示我可以升级Javassist版本:

javassist:javassist ......... 3.12.1.GA -> 3.3

这意味着3.3 > 3.12.1.GA,在这种特定情况下,这不是真的!

如何告诉版本插件它不应该触及javassist,或者它应该使用另一个订单来处理这个特定的依赖项?

1 个答案:

答案 0 :(得分:2)

原因是,Maven将版本号(不是Maven格式)视为字符串,因此3.3大于3.12.1.GA 您可以使用versions-maven-plugin并为javassist定义排除(-Dexcludes = javassist:javassist)。 或者您可以编写自己的版本进行比较,并将其作为规则集使用。

如果您正在运行自己的存储库管理器,那么您当然可以使用正确的Maven版本编号手动添加javassist jar,以便versions-maven-plugin按预期工作。