我有一个依赖于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版本:
当我运行mvn versions:display-dependency-updates
时,它表示我可以升级Javassist版本:
javassist:javassist ......... 3.12.1.GA -> 3.3
这意味着3.3 > 3.12.1.GA
,在这种特定情况下,这不是真的!
如何告诉版本插件它不应该触及javassist,或者它应该使用另一个订单来处理这个特定的依赖项?
答案 0 :(得分:2)
原因是,Maven将版本号(不是Maven格式)视为字符串,因此3.3大于3.12.1.GA 您可以使用versions-maven-plugin并为javassist定义排除(-Dexcludes = javassist:javassist)。 或者您可以编写自己的版本进行比较,并将其作为规则集使用。
如果您正在运行自己的存储库管理器,那么您当然可以使用正确的Maven版本编号手动添加javassist jar,以便versions-maven-plugin按预期工作。