编译器:编译

全名:

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

说明:

编译应用程序源

属性:

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

可选参数

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

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


compiler参数 细绳 2.0

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

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


compilerArguments 地图 2.0.1

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

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

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

<compilerArguments>
  <Xmaxerrs>1000</Xmaxerrs>
  <Xlint/>
  <Xlint:-path/>
  <Averbose>true</Averbose>
</compilerArguments>

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

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


默认值为:${project.build.directory}/generated-sources/annotations。
包括 放 2.0 编译器的包含过滤器列表。
最大内存 细绳 2.0.1 设置内存分配池的最大大小,以兆字节为单位,例如。"128", "128m" 如果fork设置为true。
仿古 细绳 2.0.1 内存分配池的初始大小(以 MB 为单位),例如。"64", "64m" 如果fork设置为true。
优化 布尔值 2.0 设置为true以使用编译器的优化方法优化编译的代码。
默认值为:false。
输出文件名 细绳 2.0 将一组源编译为单个文件时设置输出文件的名称。
过程 细绳 2.2

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

允许的值为:

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

显示弃用 布尔值 2.0 设置是否显示使用已弃用 API 的源位置。
默认值为:false。
显示警告 布尔值 2.0 设置为true以显示编译警告。
默认值为:false。
跳过多线程警告 布尔值 2.5 (无描述)
默认值为:${false}。
资源 细绳 2.0 Java 编译器的 -source 参数。
默认值为:1.5。
陈旧的米利斯 整数 2.0 设置最后修改日期的粒度(以毫秒为单位),以测试源是否需要重新编译。
默认值为:0。
目标 细绳 2.0 Java 编译器的 -target 参数。
默认值为:1.5。
冗长的 布尔值 2.0 设置为true以显示有关编译器正在做什么的消息。
默认值为:false。

参数详情

注释处理器:

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

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

编译器参数:

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

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

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

编译器参数:

如果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}
  • 默认值:真

叉子:

允许在单独的进程中运行编译器。如果 为假,则使用内置编译器,如果 为真,则使用可执行文件。
  • 类型:布尔值
  • 从: 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}

优化:

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

输出文件名:

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

过程:

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

允许的值为:

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

显示弃用:

设置是否显示使用已弃用 API 的源位置。
  • 类型:布尔值
  • 从: 2.0
  • 要求:否
  • 表达式:${maven.compiler.showDeprecation}
  • 默认值:假

显示警告:

设置为true以显示编译警告。
  • 类型:布尔值
  • 从: 2.0
  • 要求:否
  • 表达式:${maven.compiler.showWarnings}
  • 默认值:假

跳过多线程警告:

(没有说明)
  • 类型:布尔值
  • 从: 2.5
  • 要求:否
  • 表达式:${maven.compiler.skipMultiThreadWarning}
  • 默认值:${false}

来源:

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

详细:

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