本快速教程介绍编译器插件,它是Maven构建工具的核心插件之一。编译器插件用于编译项目的源代码。
编译器插件有两个目标。两者都已绑定到Maven生命周期中的适当阶段,因此在各自的阶段中自动执行。
*compiler:compile
绑定到编译阶段,用于编译主源文件。
*compiler:testCompile
绑定到测试编译阶段,用于编译测试源文件。
编译Java源代码:
mvn compile
要编译测试源:
mvn test-compile
由于编译器插件在其阶段自动执行,因此您不必像许多其他插件那样执行。但是,您应该指定编译器插件的版本。
<project>
...
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<!-- put your configurations here -->
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
...
</project>
请参考以下示例并在您的项目中使用。
compilerVersion
参数可用于指定插件将使用的编译器版本。然而,您还需要将fork设置为true才能使其工作。例如:
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<executable><!-- path-to-javac --></executable>
<compilerVersion>1.3</compilerVersion>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
</project>
为了避免对可执行文件的文件系统路径进行硬编码,可以使用属性。例如:
<executable>${JAVA_1_4_HOME}/bin/javac</executable>
然后,每个开发人员在设置中定义此属性。xml,或设置环境变量,以便构建保持可移植性。
<settings>
[...]
<profiles>
[...]
<profile>
<id>compiler</id>
<properties>
<JAVA_1_4_HOME>C:\Program Files\Java\j2sdk1.4.2_09</JAVA_1_4_HOME>
</properties>
</profile>
</profiles>
[...]
<activeProfiles>
<activeProfile>compiler</activeProfile>
</activeProfiles>
</settings>
有时,您可能需要将某个项目编译为与当前使用的版本不同的版本。javac可以使用*-source和-target*接受这样的命令。编译器插件还可以配置为在编译期间提供这些选项。
例如,如果您希望使用Java 8语言功能(-source 1.8),并且还希望编译的类与JVM 1.8(-target 1.8)兼容,则可以添加以下两个属性,它们是插件参数的默认属性名:
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
或直接配置插件:
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
</project>
在这个快速指南中,我们介绍了编译器插件,并给出了使用和定制它的说明。本教程的完整源代码可以在GitHub上找到。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.javaguides.net/2018/06/apache-maven-compiler-plugin.html
内容来源于网络,如有侵权,请联系作者删除!