我应该使用什么版本的Java开发MOJO Maven插件?

问题描述 投票:1回答:1

我目前正在实现一个新的Maven插件,我想使用Java 11进行编译和执行。

但是,我希望我们的大多数项目都可以使用我的Maven插件。其中一些在Java 8中运行,而某些在Java 11中运行。

如果我希望将Java 8包含在其他项目中,是否必须在我的Maven插件中使用Java 8?有没有一种方法可以在Java 11中实现它并使它可用于Java 8项目?

java maven maven-plugin java-11 mojo
1个回答
0
投票

[通常:这取决于。而且在Maven中Java用于不同的级别,因此这需要一些解释:

您要使用Java 9+的特定功能/ API吗?

如果没有,您可以使用Java 11来构建项目,但是需要将<release>8</release>添加到maven-compiler-plugin以确保代码与Java 8兼容。

如果您打算使用Java 9+功能/ API,请将<release>11</release>添加到maven-compiler-plugin。现在,您要求用户至少在Java 11上运行Maven(这不是问题,即使Maven 3.0在Java 14-ea上也可以正常运行)。

即使Maven在Java 11上运行,您的用户仍然可以创建与Java 8兼容的项目(就像第一个项目符号中的“ if not,...”一样,但是大多数用于Java 8的运行和构建。] >

© www.soinside.com 2019 - 2024. All rights reserved.