Maven 编译器插件

标签 maven maven-2 maven-3

我知道 Maven 编译器插件默认绑定(bind)到:

  • 编译
  • 测试编译

生命周期,一般在不指定附加配置的情况下,我们不必 在我们的 POM 中明确定义它,但我仍然看到经验丰富的开发人员将诸如 这在他们的 POM 中,例如

<build>
    <plugins>
        <plugin>
            <artifactId>maven-shade-plugin</artifactId>
        </plugin>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
        </plugin>
    </plugins>
</build>

我想知道有什么意义?他为什么要这样做?

最佳答案

对于shade插件,他可能使用的是POM继承。在父 POM 层次结构中查找 pluginManagement 部分,那里可能有阴影插件配置,他正在将其拉入此模块。

对于编译器插件,我不知道。你是对的,对于 jar/war/ear/ejb 项目,Maven 会自动引入编译器配置,即使他在父 POM 的 pluginManagement 部分中定义了特定配置。

关于Maven 编译器插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25205050/

相关文章:

java - 构建快照与本地编译代码的争论?

maven-2 - 如何停止 Apache maven <outputDirectory> 覆盖文件夹

关于大型项目的版本控制和避免包含表达式的版本的 Maven 建议

maven - 如何使用 maven shade 构建 jar 和 war

maven-2 - 如何阻止 Maven 重命名已安装的 jar

hibernate - 我怎样才能加快 Maven 和 Netbeans

maven-2 - Maven : Using inherited property in dependency classifier causes build failure

java - Maven 无法解决本地依赖

java - 无法从命令行覆盖 pom maven-surefire-plugin

java - 如何使用maven制作可执行jar?