通常,要在构建期间使用 Maven 插件,需要通过将其放入 <build>
来显式激活它。 POM 部分。
但是,如果您制作一个最小的 POM(“构建”部分中没有插件)并运行 Maven 构建,Maven 将默认运行一些插件,例如通过 Surefire 编译和运行测试。
这是如何工作的?是否有一些“默认”插件的内部列表?或者这是在“super POM”中定义的?我尝试查找 super POM,但给出的示例(在“Maven:完整引用”中)没有列出 Surefire 插件。
最佳答案
构建期间将激活的插件列表(如果没有明确声明其他插件)取决于项目打包。例如,对于 jar
和 war
项目,默认生命周期包含 test
阶段,该阶段通过以下方式绑定(bind)到 surefire:test
默认。请参阅here了解更多信息。
关于unit-testing - "Implicit"插件 - 为什么 Maven 构建会通过 Surefire 运行测试,即使 POM 中没有提及?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9362285/