我知道 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/