通过内置属性配置 Maven 编译器?

Maven compiler configuration via built-in properties?

Maven Compiler Plugin compile 目标表明(你们中的许多人已经知道)我可以通过设置 <debug>false</debug>.

来关闭调试信息
<project …>
  …
  <profiles>
    <profile>
      <id>production</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
              <debug>false</debug>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>

但是我注意到,同一文档表明此设置的 "user property" 是 maven.compiler.debug。 "user property" 是什么意思?这是否意味着我可以简单地在我的个人资料中将 maven.compiler.debug 属性 设置为 false,甚至不提及任何关于插件的信息,就像这样?

<project …>
  …
  <profiles>
    <profile>
      <id>production</id>
      <properties>
        <maven.compiler.debug>false</maven.compiler.debug>
      </properties>
    </profile>
  </profiles>
</project>

正如另一个 question 中的回答:

"User property" specifies the name of the Maven property that can be used to set a plugin parameter. This allows configuring a plugin from outside the section. Note that this only works if the parameter is not specified in the section (see MNG-4979 - Cannot override configuration parameter from command line).

Maven3上的"User property"可以在命令行使用,通过指定
-Dmaven.compiler.debug=false 或 根据您的问题,在如下例所示的 POM 配置文件中:

<properties> 
  <maven.compiler.debug>false</maven.compiler.debug>
</properties>