compiler插件3.0之前,默认的Java编译器就的JDK自带的javac。但是从Compiler插件3.0开始(需要JDK1.6),默认的Java编译器 是javax.tools.JavaCompiler。如果仍然希望使用JDK自带的javac编译源代码,就需要为mvn命令配置forceJavacCompilerUse启动参数如:-Dmaven.compiler.forceJavacCompilerUse=true
maven-compiler-plugin通过设置编译版本,标明Java源代码开发过程中使用的Java版本,通过设置编译后的类库拟运行的JVM版本,给出编译后的类库将要运行的Java环境。
maven的默认编译使用的jdk版本很低,使用maven-compiler-plugin插件能够指定项目源码的jdk版本,编译后的jdk版本,以及编码。
<properties>
<java.version>1.8</java.version>
<project.build.encoding>UTF-8</project.build.encoding>
</properties>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>${java.version}</source><!-- 指定源代码使用的JDK版本 -->
<target>${java.version}</target><!-- 指定class文件的编译版本 -->
<encoding>${project.build.encoding}</encoding><!-- 指定字符集编码 -->
</configuration>
</plugin>
maven执行编译的命令
mvn compile
mvn compile 命令会将 src/main/resources 下的资源文件复制到编译输出目录下;接着会将 src/main/java 目录下源代码编译输出到编译输出目录下。编译输出目录默认是 target/classes 目录。