maven-compiler-plugin
maven-compiler-plugin
是 Maven 中最常用的插件之一,它负责编译 Java 源代码。通过合理的配置,你可以控制编译过程的许多方面,例如 Java 版本、编码、调试信息等。以下是 maven-compiler-plugin
的常用配置及其详细解释:
基本配置结构
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version> <!-- 建议指定版本,以便项目构建的稳定性 -->
<configuration>
<!-- 常用配置项放在这里 -->
</configuration>
</plugin>
常用配置项
-
source
(Java 源代码版本)- 作用: 指定编译的 Java 源代码的版本。
- 取值: 可以是 Java 版本号 (例如
1.8
,11
,17
),也可以是target
参数的值。 - 默认值: Maven 默认会根据
java.version
系统属性或者 POM 的<properties><maven.compiler.source>
属性来推断。 - 示例:
<configuration> <source>1.8</source> </configuration>
或
<configuration> <source>17</source> </configuration>
-
target
(Java 字节码版本)
- 作用: 指定编译生成的 Java 字节码的版本,即 JVM 运行的版本。
- 取值: 可以是 Java 版本号 (例如
1.8
,11
,17
)。 - 默认值: Maven 默认会根据
java.version
系统属性或者 POM 的<properties><maven.compiler.target>
属性来推断。 - 示例:
```xml
<configuration>
<target>1.8</target>
</configuration>
```
或
```xml
<configuration>
<target>17</target>
</configuration>
```
说明: source
和 target
通常需要同时设置,并保持一致或 target
版本不能高于 source
版本。 这确保你编译出的代码能在目标 JVM 环境下正确运行。
-
encoding
(字符编码)-
作用: 指定编译过程中使用的字符编码,避免出现乱码问题。
-
取值: 常用的字符编码,例如
UTF-8
,GBK
等。 -
默认值: 通常是操作系统的默认编码。
-
建议: 强烈建议设置为
UTF-8
以获得最佳的跨平台兼容性。 -
示例:
<configuration> <encoding>UTF-8</encoding> </configuration>
-
-
debug
(调试信息)-
作用: 控制是否生成调试信息。如果设置为
true
,生成的.class
文件将包含调试信息,方便 debug。 -
取值:
true
或false
。 -
默认值:
true
。 -
示例:
<configuration> <debug>true</debug> </configuration>
或
<configuration> <debug>false</debug> </configuration>
-
-
showWarnings
(警告信息)-
作用: 控制是否显示编译时的警告信息。设置为
true
表示显示警告。 -
取值:
true
或false
。 -
默认值:
false
-
示例:
<configuration> <showWarnings>true</showWarnings> </configuration>
或
<configuration> <showWarnings>false</showWarnings> </configuration>
-
-
showDeprecation
(过时信息)-
作用: 控制是否显示使用过时 API 的警告信息。设置为
true
表示显示。 -
取值:
true
或false
。
-