当我在我的 Maven 项目中执行版本 Maven 插件插件时,使用以下命令:
mvn versions:use-latest-versions
pom.xml 使用更新的依赖项进行更新,就像它应该做的那样。
问题是某些库已更新为新版本,因为不包含以前版本中使用的某些包,因此编译器说package not found。有人知道如何自动避免吗?我的意思是,更新到包含我在代码中使用的包和类的最新版本。
当我在我的 Maven 项目中执行版本 Maven 插件插件时,使用以下命令:
mvn versions:use-latest-versions
pom.xml 使用更新的依赖项进行更新,就像它应该做的那样。
问题是某些库已更新为新版本,因为不包含以前版本中使用的某些包,因此编译器说package not found。有人知道如何自动避免吗?我的意思是,更新到包含我在代码中使用的包和类的最新版本。
在我看来,没有简单的方法来确定哪个版本更新是“保存”的。
即使您检查您编译的所有类是否仍然存在,方法签名也可能已更改。即使所有方法签名都保持不变,行为也可能已经改变,导致运行时异常等。
我知道检查版本更新的唯一合理方法是运行编译并运行所有测试用例。对所有可能的版本更新组合执行此操作是可能的,但这将花费大量时间。
该插件不会分析您的代码并相应地调整依赖项版本。
目标use-latest-versions
是将您的项目升级到项目依赖项的最新版本,因此您可能会遇到编译和部署问题。一旦确定了问题,您需要修复所有问题,以便将整个项目升级到最新版本的依赖项。
问题是某些库已更新为新版本,因为它们不包含以前版本中使用的某些包,因此编译器说找不到包。有人知道如何自动避免吗?我的意思是,更新到包含我在代码中使用的包和类的最新版本。
当然,这是不可能的。
更新依赖关系不是机会游戏。
如果你需要一个依赖的最后一个版本,你不应该担心这个版本是否因为你需要而破坏或没有破坏你的代码。
您更新库是因为您需要更新该版本。如果您不需要更新您的依赖项,请不要更新您的依赖项,但如果您需要这样做,您应该在必要时也更新您的代码。