3

我有一个依赖于 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,或者它应该为这个特定的依赖项使用另一个顺序?

4

1 回答 1

2

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

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

于 2011-05-17T20:05:38.687 回答