编译器:编译

全名:

org.apache.maven.plugins:maven-compiler-plugin:3.1:compile

说明:

编译应用程序源

属性:

  • 需要执行一个 Maven 项目。
  • 需要范围内工件的依赖解析:compile。
  • 目标是线程安全的并支持并行构建。
  • 自版本:2.0。
  • 默认绑定到生命周期阶段:编译。

可选参数

姓名 类型 自从 描述
注释处理器 细绳[] 2.2

要运行的注释处理器的名称。仅适用于 JDK 1.6+ 如果未设置,则应用默认注释处理器发现过程。


编译器参数 列表 3.1

如果fork设置为true ,则设置要传递给编译器的参数 。例子:


<compilerArgs>
  <arg>-Xmaxerrs=1000</arg>
  <arg>-Xlint</arg>
</compilerArgs>

compiler参数 细绳 2.0

如果fork设置为true ,则设置要传递给编译器的未格式化的单个参数字符串。要传递多个参数,例如-Xmaxerrs 1000(实际上是两个参数),您必须使用 compilerArguments。

这是因为传递给 Java 编译器的有效参数列表因编译器版本而异。


compilerArguments 地图 2.0.1 已弃用。改用compilerArgs。
编译器 ID 细绳 2.0 要使用的编译器的编译器 ID。有关更多信息,请参阅本指南。
默认值为:javac。
用户属性是:maven.compiler.compilerId。
编译器重用策略 细绳 2.5 重用创建的 javacc 类的策略:
  • 重用创建(默认):将重用已创建但在多线程构建的情况下,每个线程将有自己的实例
  • reuseSame:即使是多线程构建,每次编译都将使用相同的 Javacc 类
  • alwaysNew:每次编译都会创建一个新的 Javacc 类
请注意,此参数值取决于您使用的 os/jdk,但默认值应该适用于大多数 env。
默认值为:${reuseCreated}。
用户属性是:maven.compiler.compilerReuseStrategy。
编译器版本 细绳 2.0 要使用的编译器版本,例如。“1.3”、“1.5”,如果 fork设置为true。
用户属性是:maven.compiler.compilerVersion。
调试 布尔值 2.0 设置为true以在编译的类文件中包含调试信息。
默认值为:true。
用户属性是:maven.compiler.debug。
调试级别 细绳 2.1 要附加到-g命令行开关的关键字列表。合法值为 none 或以下关键字的逗号分隔列表:lines、vars和 source。如果未指定调试级别,默认情况下,不会将任何内容附加到-g。如果未打开调试,则该属性将被忽略。
用户属性是:maven.compiler.debuglevel。
编码 细绳 2.1 Java 编译器的 -encoding 参数。
默认值为:${project.build.sourceEncoding}。
用户属性是:编码。
排除 放 2.0 编译器的排除过滤器列表。
可执行的 细绳 2.0 设置当fork 为true时要使用的编译器的可执行文件。
用户属性是:maven.compiler.executable。
失败错误 布尔值 2.0.2 指示即使出现编译错误,构建是否会继续。
默认值为:true。
用户属性是:maven.compiler.failOnError。
文件扩展 列表 3.1 用于检查增量构建默认时间戳的文件扩展名仅包含.class
forceJavacCompiler使用 布尔值 3.0 编译器现在可以使用 javax.tools 如果在您当前的 jdk 中可用,您可以使用 -Dmaven.compiler.forceJavacCompilerUse=true 或在插件配置中禁用此功能
默认值为:false。
用户属性是:maven.compiler.forceJavacCompilerUse。
叉 布尔值 2.0 允许在单独的进程中运行编译器。如果 为假,则使用内置编译器,如果 为真,则使用可执行文件。
默认值为:false。
用户属性是:maven.compiler.fork。
生成的Sources目录 文件 2.2

指定放置由注释处理创建的生成源文件的位置。仅适用于 JDK 1.6+


默认值为:${project.build.directory}/generated-sources/annotations。
包括 放 2.0 编译器的包含过滤器列表。
最大内存 细绳 2.0.1 设置内存分配池的最大大小,以兆字节为单位,例如。"128", "128m" 如果fork设置为true。
用户属性是:maven.compiler.maxmem。
仿古 细绳 2.0.1 内存分配池的初始大小(以 MB 为单位),例如。"64", "64m" 如果fork设置为true。
用户属性是:maven.compiler.meminitial。
mojo执行 Mojo执行 3.0 需要存储增量构建支持的状态。 (无描述)
用户属性是:mojoExecution。
优化 布尔值 2.0 设置为true以使用编译器的优化方法优化编译的代码。
默认值为:false。
用户属性是:maven.compiler.optimize。
输出文件名 细绳 2.0 将一组源编译为单个文件时设置输出文件的名称。表达式="${project.build.finalName}"
过程 细绳 2.2

设置是否执行注释处理。仅适用于 JDK 1.6+ 如果不设置,编译和注解处理同时进行。

允许的值为:

  • none - 不执行注释处理。
  • only - 只进行注解处理,不进行编译。

显示弃用 布尔值 2.0 设置是否显示使用已弃用 API 的源位置。
默认值为:false。
用户属性是:maven.compiler.showDeprecation。
显示警告 布尔值 2.0 设置为true以显示编译警告。
默认值为:false。
用户属性是:maven.compiler.showWarnings。
跳过主要 布尔值 2.0 将此设置为“真”以绕过主要来源的编译。不推荐使用它,但有时很方便。
用户属性是:maven.main.skip。
跳过多线程警告 布尔值 2.5 (无描述)
默认值为:false。
用户属性是:maven.compiler.skipMultiThreadWarning。
资源 细绳 2.0 Java 编译器的 -source 参数。
默认值为:1.5。
用户属性是:maven.compiler.source。
陈旧的米利斯 整数 2.0 设置最后修改日期的粒度(以毫秒为单位),以测试源是否需要重新编译。
默认值为:0。
用户属性是:lastModGranularityMs。
目标 细绳 2.0 Java 编译器的 -target 参数。
默认值为:1.5。
用户属性是:maven.compiler.target。
使用增量编译 布尔值 3.1 启用/禁用增量编译功能
默认值为:true。
用户属性是:maven.compiler.useIncrementalCompilation。
冗长的 布尔值 2.0 设置为true以显示有关编译器正在做什么的消息。
默认值为:false。
用户属性是:maven.compiler.verbose。

参数详情

注释处理器:

要运行的注释处理器的名称。仅适用于 JDK 1.6+ 如果未设置,则应用默认注释处理器发现过程。

  • 类型:java.lang.String[]
  • 从: 2.2
  • 要求:否

编译器参数:

如果fork设置为true ,则设置要传递给编译器的参数 。例子:


<compilerArgs>
  <arg>-Xmaxerrs=1000</arg>
  <arg>-Xlint</arg>
</compilerArgs>
  • 类型:java.util.List
  • 从: 3.1
  • 要求:否

编译器参数:

如果fork设置为true ,则设置要传递给编译器的未格式化的单个参数字符串。要传递多个参数,例如-Xmaxerrs 1000(实际上是两个参数),您必须使用 compilerArguments。

这是因为传递给 Java 编译器的有效参数列表因编译器版本而异。

  • 类型:java.lang.String
  • 从: 2.0
  • 要求:否

编译器参数:

已弃用。改用compilerArgs。

如果fork设置为true ,则设置要传递给编译器的参数(添加破折号)。

这是因为传递给 Java 编译器的有效参数列表因编译器版本而异。

要通过-Xmaxerrs 1000 -Xlint -Xlint:-path -Averbose=true你应该包括以下内容:

<compilerArguments>
  <Xmaxerrs>1000</Xmaxerrs>
  <Xlint/>
  <Xlint:-path/>
  <Averbose>true</Averbose>
</compilerArguments>
  • 类型:java.util.Map
  • 自:2.0.1
  • 要求:否

编译器标识:

要使用的编译器的编译器 ID。有关更多信息,请参阅本指南。
  • 类型:java.lang.String
  • 从: 2.0
  • 要求:否
  • 用户属性:maven.compiler.compilerId
  • 默认值:javac

编译器重用策略:

重用创建的 javacc 类的策略:
  • 重用创建(默认):将重用已创建但在多线程构建的情况下,每个线程将有自己的实例
  • reuseSame:即使是多线程构建,每次编译都将使用相同的 Javacc 类
  • alwaysNew:每次编译都会创建一个新的 Javacc 类
请注意,此参数值取决于您使用的 os/jdk,但默认值应该适用于大多数 env。
  • 类型:java.lang.String
  • 从: 2.5
  • 要求:否
  • 用户属性:maven.compiler.compilerReuseStrategy
  • 默认值:${reuseCreated}

编译器版本:

要使用的编译器版本,例如。“1.3”、“1.5”,如果 fork设置为true。
  • 类型:java.lang.String
  • 从: 2.0
  • 要求:否
  • 用户属性:maven.compiler.compilerVersion

调试:

设置为true以在编译的类文件中包含调试信息。
  • 类型:布尔值
  • 从: 2.0
  • 要求:否
  • 用户属性:maven.compiler.debug
  • 默认值:真

调试级别:

要附加到-g命令行开关的关键字列表。合法值为 none 或以下关键字的逗号分隔列表:lines、vars和 source。如果未指定调试级别,默认情况下,不会将任何内容附加到-g。如果未打开调试,则该属性将被忽略。
  • 类型:java.lang.String
  • 从: 2.1
  • 要求:否
  • 用户属性:maven.compiler.debuglevel

编码:

Java 编译器的 -encoding 参数。
  • 类型:java.lang.String
  • 从: 2.1
  • 要求:否
  • 用户属性:编码
  • 默认值:${project.build.sourceEncoding}

不包括:

编译器的排除过滤器列表。
  • 类型:java.util.Set
  • 从: 2.0
  • 要求:否

可执行文件:

设置当fork 为true时要使用的编译器的可执行文件。
  • 类型:java.lang.String
  • 从: 2.0
  • 要求:否
  • 用户属性:maven.compiler.executable

失败错误:

指示即使出现编译错误,构建是否会继续。
  • 类型:布尔值
  • 自:2.0.2
  • 要求:否
  • 用户属性:maven.compiler.failOnError
  • 默认值:真

文件扩展名:

用于检查增量构建默认时间戳的文件扩展名仅包含.class
  • 类型:java.util.List
  • 从: 3.1
  • 要求:否

forceJavacCompiler 使用:

编译器现在可以使用 javax.tools 如果在您当前的 jdk 中可用,您可以使用 -Dmaven.compiler.forceJavacCompilerUse=true 或在插件配置中禁用此功能
  • 类型:布尔值
  • 从: 3.0
  • 要求:否
  • 用户属性:maven.compiler.forceJavacCompilerUse
  • 默认值:假

叉子:

允许在单独的进程中运行编译器。如果 为假,则使用内置编译器,如果 为真,则使用可执行文件。
  • 类型:布尔值
  • 从: 2.0
  • 要求:否
  • 用户属性:maven.compiler.fork
  • 默认值:假

生成源目录:

指定放置由注释处理创建的生成源文件的位置。仅适用于 JDK 1.6+

  • 类型:java.io.File
  • 从: 2.2
  • 要求:否
  • 默认值:${project.build.directory}/generated-sources/annotations

包括:

编译器的包含过滤器列表。
  • 类型:java.util.Set
  • 从: 2.0
  • 要求:否

最大内存:

设置内存分配池的最大大小,以兆字节为单位,例如。"128", "128m" 如果fork设置为true。
  • 类型:java.lang.String
  • 自:2.0.1
  • 要求:否
  • 用户属性:maven.compiler.maxmem

追忆:

内存分配池的初始大小(以 MB 为单位),例如。"64", "64m" 如果fork设置为true。
  • 类型:java.lang.String
  • 自:2.0.1
  • 要求:否
  • 用户属性:maven.compiler.meminitial

mojo执行:

(没有说明)
  • 类型:org.apache.maven.plugin.MojoExecution
  • 从: 3.0 需要存储增量构建支持的状态。
  • 要求:否
  • 用户属性:mojoExecution

优化:

设置为true以使用编译器的优化方法优化编译的代码。
  • 类型:布尔值
  • 从: 2.0
  • 要求:否
  • 用户属性:maven.compiler.optimize
  • 默认值:假

输出文件名:

将一组源编译为单个文件时设置输出文件的名称。表达式="${project.build.finalName}"
  • 类型:java.lang.String
  • 从: 2.0
  • 要求:否

过程:

设置是否执行注释处理。仅适用于 JDK 1.6+ 如果不设置,编译和注解处理同时进行。

允许的值为:

  • none - 不执行注释处理。
  • only - 只进行注解处理,不进行编译。
  • 类型:java.lang.String
  • 从: 2.2
  • 要求:否

显示弃用:

设置是否显示使用已弃用 API 的源位置。
  • 类型:布尔值
  • 从: 2.0
  • 要求:否
  • 用户属性:maven.compiler.showDeprecation
  • 默认值:假

显示警告:

设置为true以显示编译警告。
  • 类型:布尔值
  • 从: 2.0
  • 要求:否
  • 用户属性:maven.compiler.showWarnings
  • 默认值:假

跳过主要:

将此设置为“真”以绕过主要来源的编译。不推荐使用它,但有时很方便。
  • 类型:布尔值
  • 从: 2.0
  • 要求:否
  • 用户属性:maven.main.skip

跳过多线程警告:

(没有说明)
  • 类型:布尔值
  • 从: 2.5
  • 要求:否
  • 用户属性:maven.compiler.skipMultiThreadWarning
  • 默认值:假

来源:

Java 编译器的 -source 参数。
  • 类型:java.lang.String
  • 从: 2.0
  • 要求:否
  • 用户属性:maven.compiler.source
  • 默认值:1.5

陈旧的米利斯:

设置最后修改日期的粒度(以毫秒为单位),以测试源是否需要重新编译。
  • 类型:整数
  • 从: 2.0
  • 要求:否
  • 用户属性:lastModGranularityMs
  • 默认值:0

目标:

Java 编译器的 -target 参数。
  • 类型:java.lang.String
  • 从: 2.0
  • 要求:否
  • 用户属性:maven.compiler.target
  • 默认值:1.5

使用增量编译:

启用/禁用增量编译功能
  • 类型:布尔值
  • 从: 3.1
  • 要求:否
  • 用户属性:maven.compiler.useIncrementalCompilation
  • 默认值:真

详细:

设置为true以显示有关编译器正在做什么的消息。
  • 类型:布尔值
  • 从: 2.0
  • 要求:否
  • 用户属性:maven.compiler.verbose
  • 默认值:假