默认 maven 编译器设置

2022-09-01 12:07:43

现在,我正在自己编写一个小的java应用程序,几乎没有maven pom.xml文件。我想让我所有的maven包都用jdk 1.6编译,我找不到一个好方法来做到这一点,除非在每个POM上手动设置它 - 我厌倦了复制和粘贴

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
 <source>1.6</source>
 <target>1.6</target>
</configuration>

在我生成的每个 pom.xml 文件中。

有没有更简单的方法来解决此问题?


答案 1

创建一个仅包含 pom () 的项目,该项目具有所需的编译器设置(以及任何其他默认设置)。你像对待任何其他项目一样对待它(释放它;将其部署到你的Maven存储库等)。<packaging>pom</packaging>

在 pom 文件的顶部放置一个声明:parent

<parent>
  <groupId><!-- parent's group id --></groupId>
  <artifactId><!-- parent's artifact id --></artifactId>
  <version><!-- parent's version --></version>
</parent>

如果您只想设置编译器设置,则没有多大帮助。但是,如果您发现自己在项目中以相同的方式配置了许多插件,报告和依赖项,则可以创建一个父级来统治它们。

顺便说一句 - 在父 pom 文件中声明和时要小心。通常你会想要赞成和.有关更多详细信息请参阅文档dependenciespluginsdependencyManagementpluginManagement


答案 2

您可以在 中指定此插件和配置,然后将其应用于所有项目。~/.m2/settings.xml

但是,这样做的缺点是使您的项目不再可移植 - 尝试使用相同的pom构建相同的代码.xml在其他与您没有相同值的计算机上都会失败。settings.xml


推荐