有没有办法获得maven插件版本及其所需的Java版本的地图?

时间:2016-02-22 16:10:41

标签: java maven

我正在为我的团队维护一个父pom,它将根据项目使用的JDK提供各种maven插件的最新兼容版本。有时,如果项目使用较旧版本的Java(如1.5),maven将因为插件需要更新版本而失败。有没有办法获得给定插件的地图,看看该插件的最小java版本是什么?我当时认为有某种报告或其他东西可以告诉我,但我没有看到任何东西。

2 个答案:

答案 0 :(得分:1)

怎么样:https://builds.apache.org/view/M-R/view/Maven/job/dist-tool-plugin/site/dist-tool-prerequisites.html除了每个插件页面上的内容之外,您还可以找到包含所需信息的goals page。还有一件事,如果您使用的不是最新版本versions pages are available,那么您可以查看JDK版本使用的版本。编写某种脚本以编程方式提取旧插件的信息应该不是问题。上面的网站包含uptodate插件的信息。

除了JDK版本的插件版本选择basead不是一个好主意。这些插件只有他们需要运行的JDK的最低版本。除此之外,它们在所有版本上运行(已经在JDK 9上运行,但有一个例外)...此外,插件可能需要运行Maven 2.2.1或Maven 3.0+的最小Maven版本,这应该不是问题。< / p>

您应该根据您可能遇到的问题定义插件版本,但我建议您继续使用插件进行更新。

如果您需要运行使用JDK 6进行构建,但是您使用需要运行JDK 7的Maven 3.3.X,则可以使用toolchain to handle this situation来实现此目的。

答案 1 :(得分:0)

从理论上讲,这不应成为一个问题。 Maven将使用您运行它的Java版本,因此插件的依赖性将得到满足,而与项目的语言级别无关。只需确保您的开发人员使用当前版本。

示例:使用Java 8运行Maven将满足需要Java 8的插件的依赖性,而与项目的源和目标级别无关。

(依赖它会更复杂,我很害怕,但是因为你实际上并没有对你的插件进行编码,你应该没问题)