wem*_*emu 10 maven-plugin maven maven-lifecycle
我尝试在maven生命周期中添加一些额外的阶段.主要是添加一些额外的测试级别:
<phases>
<phase>initialize</phase>
<phase>process-resources</phase>
<phase>compile</phase>
<phase>process-test-resources</phase>
<phase>test-compile</phase>
<phase>test</phase>
<phase>prepare-package</phase>
<phase>package</phase>
<phase>pre-integration-test</phase>
<phase>integration-test</phase>
<phase>post-integration-test</phase>
<phase>pre-application-test</phase>
<phase>application-test</phase>
<phase>post-application-test</phase>
<phase>pre-system-test</phase>
<phase>system-test</phase>
<phase>post-system-test</phase>
<phase>finalize-tests</phase>
<phase>install</phase>
<phase>deploy</phase>
</phases>
Run Code Online (Sandbox Code Playgroud)
以上包含新的应用测试和系统测试阶段(包括前后).
我已经开始了一个测试插件:codezoo-lifecycle-maven-plugin 我用于测试的pom是在src/it文件夹中.
这似乎是新的阶段或有些发现,但有一些奇怪的事情发生:
mvn post-application-test
Run Code Online (Sandbox Code Playgroud)
这有效.还添加了我为测试添加的echo插件.但是有一些警告(使用maven 3.3.9).
mvn install
Run Code Online (Sandbox Code Playgroud)
执行跳过新阶段的默认生命周期.
如果我将生命周期的id"test-levels"更改为"default",则会执行两次阶段.
发出的警告是:
[WARNING] Duplicated lifecycle phase package. Defined in default but also in test-levels
[WARNING] Duplicated lifecycle phase pre-integration-test. Defined in default but also in test-levels
[WARNING] Duplicated lifecycle phase integration-test. Defined in default but also in test-levels
....
Run Code Online (Sandbox Code Playgroud)
发出此警告的源代码表示生命周期未正确命名空间.但我无法弄清楚这是怎么做到的.
我在网上找到了一些提示:create-a-new-phase(Stackoverflow)或其他插件,如maven-scm-publish-plugin或docker-maven-plugin.但这些要么创建一个完整的新生命周期,要么只是从默认的maven生命周期中更改插件映射.
网络上有关此主题的所有其他内容似乎至少已有4年......
所以:
谢谢!
小智 0
通常,当您需要额外的构建阶段时 - 这是您需要拆分代码并将其部分移动到专用于单独功能的额外 Maven 模块的信号。
添加模块之间的依赖关系,因此在开始构建 Maven 模块构建图后的结果中,并按预期顺序一一构建它们。
| 归档时间: |
|
| 查看次数: |
1752 次 |
| 最近记录: |