版本 Maven 插件:在 versions:use-latest-versions 之后找不到包

Versions Maven Plugin: package not found after versions:use-latest-versions

当我在我的 Maven 项目中执行 Versions Maven 插件 插件时,命令如下:

mvn versions:use-latest-versions

pom.xml 已按预期使用更新的依赖项进行更新。

问题是一些库更新到新版本,因为它们不包含以前版本中使用的一些包,所以编译器说 package未找到。有人知道如何自动避免吗?我的意思是,更新到最新版本,其中包含我在代码中使用的软件包和 类。

在我看来,没有简单的方法来确定哪个版本更新是 "save"。

即使您检查编译所针对的所有 类 仍然存在,方法签名也可能已更改。即使所有方法签名保持不变,行为也可能发生变化,导致 运行 时间异常等。

我知道检查版本更新的唯一合理方法是 运行 编译和 运行 所有测试用例。对可能的版本更新的所有组合执行此操作是可能的,但会花费很多时间。

插件不会分析您的代码并相应地调整依赖项版本。

目标use-latest-versions的objective是将您的项目升级到最新版本的项目依赖项,因此您可能会遇到编译和部署问题。 确定问题后,您需要解决所有问题,以便将整个项目升级到最新版本的依赖项。

The problem is that some libraries are updated to version as new as the do not contains some of the packages used in previous versions so the compiler says package not found. Does anybody know how to avoid automatically? I mean, update to the latest version which have the packages and classes I am using in my code.

当然不可能了

更新依赖关系不是碰运气的游戏。
如果你需要一个依赖的最后一个版本,你不应该担心这个版本是否会破坏你的代码,因为你需要它。
您更新库是因为您需要更新该版本。如果您不需要更新您的依赖项,请不要更新您的依赖项,但如果您需要这样做,您应该在必要时也更新您的代码。