【问题标题】:Can I resume a Maven lifecycle from an arbritrary phase?我可以从任意阶段恢复 Maven 生命周期吗?
【发布时间】:2016-11-02 08:30:59
【问题描述】:

我想说服 Maven “从中断的地方继续”。我首先做一个mvn package 来构建包。稍后我可能想通过mvn install 继续生命周期以进行集成测试等。在这种情况下,我希望 Maven 不要从头开始重新开始生命周期,而是在package(即pre-integration-test)之后的第一阶段实际恢复。是否可以在第一个阶段以外的阶段开始生命周期?

【问题讨论】:

  • 我认为你做不到。 See also this mail.
  • 我知道 mvn install 在执行“安装”之前会执行:“validate”、“compile”、“package”和“verify”,所以,实际上我不知道是否可以覆盖这个,导致覆盖这个设置应该是唯一的方法

标签: java maven continuous-delivery


【解决方案1】:

AFAIK,没有支持此功能的内置功能。但是,您可以执行以下操作:

覆盖所有目标绑定,直到(但不包括)来自以下的预期起始阶段:

  • default-bindings.xml
  • <build>/<plugins>/<plugin> 当前和所有父 POM 的部分(与 mvn help:effective-pom 核对)

profile 中喜欢:

<profiles>
    <profile>
        <id>resume-at-pre-int-test</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>com.soebes.maven.plugins</groupId>
                    <artifactId>maven-echo-plugin</artifactId>
                    <version>0.1</version>
                    <executions>
                        <execution>
                            <id>skip-process-resources</id>
                            <phase>process-resources</phase>
                            <goals>
                                <goal>echo</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <echos>
                            <echo>Default plugin:goal binding for process-resources phase overridden</echo>
                        </echos>
                    </configuration>
                </plugin>

                <plugin>
                    ...
                </plugin>

                ...

            </plugins>
        </build>
    </profile>
</profiles>

mvn install -P resume-at-pre-int-test激活它。

【讨论】:

  • 我也可以取消绑定目标吗?
  • @Rinke 我不知道。
  • @Rinke 只是一个想法:根据this answer,您可以尝试相应地调整&lt;Your Maven installation&gt;/lib/maven-core-x.y.z.jar/META-INF/plexus/default-bindings.xml,但我自己还没有尝试过。
猜你喜欢
  • 1970-01-01
  • 2013-05-05
  • 2016-08-05
  • 2021-01-25
  • 2015-11-20
  • 2016-02-18
  • 1970-01-01
  • 1970-01-01
  • 2019-09-28
相关资源
最近更新 更多