全名:
org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile
说明:
属性:
姓名 | 类型 | 自从 | 描述 |
---|---|---|---|
<annotationProcessorPaths> | 列表 | 3.5 |
作为注释处理器路径提供的类路径元素。如果指定,编译器将仅在那些类路径元素中检测注释处理器。如果省略,则使用默认类路径来检测注释处理器。检测本身取决于annotationProcessors的配置。 每个类路径元素都使用它们的 Maven 坐标(groupId、artifactId、版本、分类器、类型)来指定。传递依赖是自动添加的。例子: <configuration> <annotationProcessorPaths> <path> <groupId>org.sample</groupId> <artifactId>sample-annotation-processor</artifactId> <version>1.2.3</version> </path> <!-- ... more ... --> </annotationProcessorPaths> </configuration> |
<annotationProcessors> | 细绳[] | 2.2 |
要运行的注释处理器的名称。仅适用于 JDK 1.6+ 如果未设置,则应用默认注释处理器发现过程。 |
<compilerArgs> | 列表 | 3.1 |
设置要传递给编译器的参数。 请注意,只有在fork设置为true时才会传递 -J选项。 例子:<compilerArgs> <arg>-Xmaxerrs</arg> <arg>1000</arg> <arg>-Xlint</arg> <arg>-J-Duser.language=en_us</arg> </compilerArgs> |
<compilerArgument> | 细绳 | 2.0 |
设置要传递给编译器的未格式化的单个参数字符串。要传递多个参数,例如-Xmaxerrs 1000(实际上是两个参数),您必须使用 compilerArguments。 这是因为传递给 Java 编译器的有效参数列表因编译器版本而异。 请注意,只有在fork设置为true时才会传递 -J选项。 |
<compilerArguments> | 地图 | 2.0.1 | 已弃用。改用compilerArgs。 |
<compilerId> | 细绳 | 2.0 | 要使用的编译器的编译器 ID。有关更多信息,请参阅本指南。 默认值为:javac。 用户属性是:maven.compiler.compilerId。 |
<编译器重用策略> | 细绳 | 2.5 | 重用创建的 javacc 类的策略:
默认值为:${reuseCreated}。 用户属性是:maven.compiler.compilerReuseStrategy。 |
<编译器版本> | 细绳 | 2.0 | 要使用的编译器版本,例如。“1.3”、“1.5”,如果
fork设置为true。 用户属性是:maven.compiler.compilerVersion。 |
<createMissingPackageInfoClass> | 布尔值 | 3.10 | 包信息源文件只包含 javadoc 而包上没有注解可能导致编译器不生成类文件。这会导致下一次编译时文件丢失并强制进行不必要的重新编译。默认值
true会导致生成一个空的类文件。可以通过将此参数设置为
false来更改此行为。 默认值为:true。 用户属性是:maven.compiler.createMissingPackageInfoClass。 |
<调试> | 布尔值 | 2.0 | 设置为true以在编译的类文件中包含调试信息。 默认值为:true。 用户属性是:maven.compiler.debug。 |
<调试文件名> | 细绳 | 3.10.0 | 当分叉和调试激活时,使用的命令行将转储到此文件中 默认值为:javac。 |
<调试级别> | 细绳 | 2.1 | 要附加到-g命令行开关的关键字列表。合法值为 none 或以下关键字的逗号分隔列表:lines、vars和
source。如果未指定调试级别,默认情况下,不会将任何内容附加到-g。如果未打开调试,则该属性将被忽略。 用户属性是:maven.compiler.debuglevel。 |
<启用预览> | 布尔值 | 3.10.1 | 设置为true以启用 java 编译器的预览语言功能 默认值为:false。 用户属性是:maven.compiler.enablePreview。 |
<编码> | 细绳 | 2.1 | Java 编译器的 -encoding 参数。 默认值为:${project.build.sourceEncoding}。 用户属性是:编码。 |
<不包括> | 放 | 2.0 | 编译器的排除过滤器列表。 |
<可执行文件> | 细绳 | 2.0 | 设置当fork
为true时要使用的编译器的可执行文件。 用户属性是:maven.compiler.executable。 |
<失败错误> | 布尔值 | 2.0.2 | 指示即使出现编译错误,构建是否会继续。 默认值为:true。 用户属性是:maven.compiler.failOnError。 |
<失败警告> | 布尔值 | 3.6 | 指示即使有编译警告,构建是否会继续。 默认值为:false。 用户属性是:maven.compiler.failOnWarning。 |
<文件扩展名> | 列表 | 3.1 | 用于检查增量构建时间戳的文件扩展名。默认只包含class和jar。 |
<forceJavacCompilerUse> | 布尔值 | 3.0 | 编译器现在可以使用 javax.tools 如果在您当前的 jdk 中可用,您可以使用 -Dmaven.compiler.forceJavacCompilerUse=true 或在插件配置中禁用此功能 默认值为:false。 用户属性是:maven.compiler.forceJavacCompilerUse。 |
<叉子> | 布尔值 | 2.0 | 允许在单独的进程中运行编译器。如果
为假,则使用内置编译器,如果
为真,则使用可执行文件。 默认值为:false。 用户属性是:maven.compiler.fork。 |
<生成的源目录> | 文件 | 2.2 |
指定放置由注释处理创建的生成源文件的位置。仅适用于 JDK 1.6+ 默认值为:${project.build.directory}/generated-sources/annotations。 |
<包括> | 放 | 2.0 | 编译器的包含过滤器列表。 |
<jdk工具链> | 地图 | 3.6 |
指定此 jdk 工具链的要求,以使用与 Maven 使用的 JRE不同的javac 。这会否决maven-toolchain-plugin选择的工具链。 (有关更多信息, 请参阅工具链指南)<configuration> <jdkToolchain> <version>11</version> </jdkToolchain> ... </configuration> <configuration> <jdkToolchain> <version>1.8</version> <vendor>zulu</vendor> </jdkToolchain> ... </configuration> |
<最大内存> | 细绳 | 2.0.1 | 设置内存分配池的最大大小,以兆字节为单位,例如。"128", "128m" 如果fork设置为true。 用户属性是:maven.compiler.maxmem。 |
<记忆> | 细绳 | 2.0.1 | 内存分配池的初始大小(以 MB 为单位),例如。"64", "64m" 如果fork设置为true。 用户属性是:maven.compiler.meminitial。 |
<multiReleaseOutput> | 布尔值 | 3.7.1 |
当设置为true时,这些类将放在 META-INF/versions/${release}中,必须设置发布值,否则插件会失败。 注意:如果 META-INF/MANIFEST.MF包含Multi-Release: true ,则 jar 只是一个 multirelease jar 。您需要通过配置maven-jar-plugin来设置它。这意味着您不能使用 outputDirectory 测试多版本 jar。 |
<优化> | 布尔值 | 2.0 | 已弃用。此属性在javac中是无操作的。 默认值为:false。 用户属性是:maven.compiler.optimize。 |
<输出文件名> | 细绳 | 2.0 | 将一组源编译为单个文件时设置输出文件的名称。表达式="${project.build.finalName}" |
<参数> | 布尔值 | 3.6.2 | 设置为true以生成元数据以反映方法参数。 默认值为:false。 用户属性是:maven.compiler.parameters。 |
<进程> | 细绳 | 2.2 |
设置是否执行注释处理。仅适用于 JDK 1.6+ 如果不设置,编译和注解处理同时进行。 允许的值为:
|
<发布> | 细绳 | 3.6 | Java 编译器的 -release 参数,从 Java9 用户属性开始支持:maven.compiler.release。 |
<显示弃用> | 布尔值 | 2.0 | 设置是否显示使用已弃用 API 的源位置。 默认值为:false。 用户属性是:maven.compiler.showDeprecation。 |
<显示警告> | 布尔值 | 2.0 | 设置为true以显示编译警告。 默认值为:false。 用户属性是:maven.compiler.showWarnings。 |
<跳过主要> | 布尔值 | 2.0 | 将此设置为“真”以绕过主要来源的编译。不推荐使用它,但有时很方便。 用户属性是:maven.main.skip。 |
<skipMultiThreadWarning> | 布尔值 | 2.5 | (无描述) 默认值为:false。 用户属性是:maven.compiler.skipMultiThreadWarning。 |
<来源> | 细绳 | 2.0 |
Java 编译器的 -source 参数。 注意:自 3.8.0 起,默认值已从 1.5 更改为 1.6。自 3.9.0 起,默认值已从 1.6 更改为 1.7默认值为:1.7。 用户属性是:maven.compiler.source。 |
<陈旧的米利斯> | 整数 | 2.0 | 设置最后修改日期的粒度(以毫秒为单位),以测试源是否需要重新编译。 默认值为:0。 用户属性是:lastModGranularityMs。 |
<目标> | 细绳 | 2.0 |
Java 编译器的 -target 参数。 注意:自 3.8.0 起,默认值已从 1.5 更改为 1.6。自 3.9.0 起,默认值已从 1.6 更改为 1.7默认值为:1.7。 用户属性是:maven.compiler.target。 |
<使用增量编译> | 布尔值 | 3.1 |
启用/禁用增量编译功能。 这会导致两种不同的模式,具体取决于底层编译器。默认的 javac 编译器执行以下操作:
默认值为:true。 用户属性是:maven.compiler.useIncrementalCompilation。 |
<详细> | 布尔值 | 2.0 | 设置为true以显示有关编译器正在做什么的消息。 默认值为:false。 用户属性是:maven.compiler.verbose。 |
作为注释处理器路径提供的类路径元素。如果指定,编译器将仅在那些类路径元素中检测注释处理器。如果省略,则使用默认类路径来检测注释处理器。检测本身取决于annotationProcessors的配置。
每个类路径元素都使用它们的 Maven 坐标(groupId、artifactId、版本、分类器、类型)来指定。传递依赖是自动添加的。例子:
<configuration> <annotationProcessorPaths> <path> <groupId>org.sample</groupId> <artifactId>sample-annotation-processor</artifactId> <version>1.2.3</version> </path> <!-- ... more ... --> </annotationProcessorPaths> </configuration>
要运行的注释处理器的名称。仅适用于 JDK 1.6+ 如果未设置,则应用默认注释处理器发现过程。
设置要传递给编译器的参数。
请注意,只有在fork设置为true时才会传递 -J选项。
例子:<compilerArgs> <arg>-Xmaxerrs</arg> <arg>1000</arg> <arg>-Xlint</arg> <arg>-J-Duser.language=en_us</arg> </compilerArgs>
设置要传递给编译器的未格式化的单个参数字符串。要传递多个参数,例如-Xmaxerrs 1000(实际上是两个参数),您必须使用 compilerArguments。
这是因为传递给 Java 编译器的有效参数列表因编译器版本而异。
请注意,只有在fork设置为true时才会传递 -J选项。
设置要传递给编译器的参数(前置破折号)。
这是因为传递给 Java 编译器的有效参数列表因编译器版本而异。
请注意,只有在fork设置为true时才会传递 -J选项。
要通过-Xmaxerrs 1000 -Xlint -Xlint:-path -Averbose=true你应该包括以下内容:
<compilerArguments> <Xmaxerrs>1000</Xmaxerrs> <Xlint/> <Xlint:-path/> <Averbose>true</Averbose> </compilerArguments>
指定放置由注释处理创建的生成源文件的位置。仅适用于 JDK 1.6+
指定此 jdk 工具链的要求,以使用与 Maven 使用的 JRE不同的javac 。这会否决maven-toolchain-plugin选择的工具链。
(有关更多信息, 请参阅工具链指南)<configuration> <jdkToolchain> <version>11</version> </jdkToolchain> ... </configuration> <configuration> <jdkToolchain> <version>1.8</version> <vendor>zulu</vendor> </jdkToolchain> ... </configuration>
当设置为true时,这些类将放在 META-INF/versions/${release}中,必须设置发布值,否则插件会失败。
注意:如果 META-INF/MANIFEST.MF包含Multi-Release: true ,则 jar 只是一个 multirelease jar 。您需要通过配置maven-jar-plugin来设置它。这意味着您不能使用 outputDirectory 测试多版本 jar。设置是否执行注释处理。仅适用于 JDK 1.6+ 如果不设置,编译和注解处理同时进行。
允许的值为:
Java 编译器的 -source 参数。
注意:自 3.8.0 起,默认值已从 1.5 更改为 1.6。自 3.9.0 起,默认值已从 1.6 更改为 1.7Java 编译器的 -target 参数。
注意:自 3.8.0 起,默认值已从 1.5 更改为 1.6。自 3.9.0 起,默认值已从 1.6 更改为 1.7启用/禁用增量编译功能。
这会导致两种不同的模式,具体取决于底层编译器。默认的 javac 编译器执行以下操作: