maven compile插件

本文详细介绍了Maven编译插件的各种配置选项,包括如何指定编译参数、启用增量编译、设置编译器版本等,帮助开发者更好地掌握Maven项目的编译流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

熟悉一个东西最全的方式莫过于官网文档(前提是官网有相关介绍并且版面布局OK大笑),相信不少小伙伴也遇到过跟我类似的问题,想使用一个插件但是去官网一看要不没有说明要不板书不堪入目,幸运的是maven官网文档还挺OK,maven是现在使用比较广的一个项目管理工具,还有两个使用比较广的就是ant以及gradle。

Name Type Since Description
annotationProcessorPaths List 2.0

Classpath elements to supply as annotation processor path. If specified, the compiler will detect annotation processors only in those classpath elements. If omitted, the default classpath is used to detect annotation processors. The detection itself depends on the configuration of annotationProcessors.

Each classpath element is specified using their Maven coordinates (groupId, artifactId, version, classifier, type). Transitive dependencies are added automatically. Example:

<configuration>
  <annotationProcessorPaths>
    <path>
      <groupId>org.sample</groupId>
      <artifactId>sample-annotation-processor</artifactId>
      <version>1.2.3</version>
    </path>
    <!-- ... more ... -->
  </annotationProcessorPaths>
</configuration>
annotationProcessors String[] 2.0

Names of annotation processors to run. Only applies to JDK 1.6+ If not set, the default annotation processors discovery process applies.

compilerArgs List 2.0

Sets the arguments to be passed to the compiler if fork is set to true. Example:

<compilerArgs>
  <arg>-Xmaxerrs=1000</arg>
  <arg>-Xlint</arg>
  <arg>-J-Duser.language=en_us</arg>
</compilerArgs>
compilerArgument String 2.0

Sets the unformatted single argument string to be passed to the compiler if fork is set to true. To pass multiple arguments such as -Xmaxerrs 1000 (which are actually two arguments) you have to use compilerArguments.

This is because the list of valid arguments passed to a Java compiler varies based on the compiler version.

compilerArguments Map 2.0 Deprecated. use compilerArgs instead.
compilerId String 2.0 The compiler id of the compiler to use. See this guide for more information.
Default value isjavac.
User property ismaven.compiler.compilerId.
compilerReuseStrategy String 2.0 Strategy to re use javacc class created:
  • reuseCreated (default): will reuse already created but in case of multi-threaded builds, each thread will have its own instance
  • reuseSame: the same Javacc class will be used for each compilation even for multi-threaded build
  • alwaysNew: a new Javacc class will be created for each compilation
Note this parameter value depends on the os/jdk you are using, but the default value should work on most of env.
Default value is${reuseCreated}.
User property ismaven.compiler.compilerReuseStrategy.
compilerVersion String 2.0 Version of the compiler to use, ex. "1.3", "1.5", if fork is set to true.
User property ismaven.compiler.compilerVersion.
debug boolean 2.0 Set to true to include debugging information in the compiled class files.
Default value istrue.
User property ismaven.compiler.debug.
debuglevel String 2.0 Keyword list to be appended to the -g command-line switch. Legal values are none or a comma-separated list of the following keywords: linesvars, and source. If debug level is not specified, by default, nothing will be appended to -g. If debug is not turned on, this attribute will be ignored.
User property ismaven.compiler.debuglevel.
encoding String 2.0 The -encoding argument for the Java compiler.
Default value is${project.build.sourceEncoding}.
User property isencoding.
excludes Set 2.0 A list of exclusion filters for the compiler.
executable String 2.0 Sets the executable of the compiler to use when fork is true.
User property ismaven.compiler.executable.
failOnError boolean 2.0 Indicates whether the build will continue even if there are compilation errors.
Default value istrue.
User property ismaven.compiler.failOnError.
failOnWarning boolean 2.0 Indicates whether the build will continue even if there are compilation warnings.
Default value isfalse.
User property ismaven.compiler.failOnWarning.
fileExtensions List 2.0 file extensions to check timestamp for incremental build default contains only .class
forceJavacCompilerUse boolean 2.0 compiler can now use javax.tools if available in your current jdk, you can disable this feature using -Dmaven.compiler.forceJavacCompilerUse=true or in the plugin configuration
Default value isfalse.
User property ismaven.compiler.forceJavacCompilerUse.
fork boolean 2.0 Allows running the compiler in a separate process. If false it uses the built in compiler, while if true it will use an executable.
Default value isfalse.
User property ismaven.compiler.fork.
generatedSourcesDirectory File 2.0

Specify where to place generated source files created by annotation processing. Only applies to JDK 1.6+


Default value is${project.build.directory}/generated-sources/annotations.
includes Set 2.0 A list of inclusion filters for the compiler.
jdkToolchain Map 2.0

Specify the requirements for this jdk toolchain. This overrules the toolchain selected by the maven-toolchain-plugin.

note: requires at least Maven 3.3.1
maxmem String 2.0 Sets the maximum size, in megabytes, of the memory allocation pool, ex. "128", "128m" if fork is set to true.
User property ismaven.compiler.maxmem.
meminitial String 2.0 Initial size, in megabytes, of the memory allocation pool, ex. "64", "64m" if fork is set to true.
User property ismaven.compiler.meminitial.
optimize boolean 2.0 Set to true to optimize the compiled code using the compiler's optimization methods.
Default value isfalse.
User property ismaven.compiler.optimize.
outputFileName String 2.0 默认输出文件名是"${project.build.finalName}"
proc String 2.0

Sets whether annotation processing is performed or not. Only applies to JDK 1.6+ If not set, both compilation and annotation processing are performed at the same time.

Allowed values are:

  • none - no annotation processing is performed.
  • only - only annotation processing is done, no compilation.
release String 2.0 The -release argument for the Java compiler, supported since Java9
User property ismaven.compiler.release.
showDeprecation boolean 2.0 Sets whether to show source locations where deprecated APIs are used.
Default value isfalse.
User property ismaven.compiler.showDeprecation.
showWarnings boolean 2.0 Set to true to show compilation warnings.
Default value isfalse.
User property ismaven.compiler.showWarnings.
skipMain boolean 2.0 Set this to 'true' to bypass compilation of main sources. Its use is NOT RECOMMENDED, but quite convenient on occasion.
User property ismaven.main.skip.
skipMultiThreadWarning boolean 2.0 (no description)
Default value isfalse.
User property ismaven.compiler.skipMultiThreadWarning.
source String 2.0 The -source argument for the Java compiler.
Default value is1.5.
User property ismaven.compiler.source.
staleMillis int 2.0 Sets the granularity in milliseconds of the last modification date for testing whether a source needs recompilation.
Default value is0.
User property islastModGranularityMs.
target String 2.0 The -target argument for the Java compiler.
Default value is1.5.
User property ismaven.compiler.target.
useIncrementalCompilation boolean 2.0 to enable/disable incrementation compilation feature
Default value istrue.
User property ismaven.compiler.useIncrementalCompilation.
verbose boolean 2.0 Set to true to show messages about what the compiler is doing.
Default value isfalse.
User property ismaven.compiler.verbose.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值