首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven :如何在同一阶段以特定顺序命令多个目标的执行

Maven :如何在同一阶段以特定顺序命令多个目标的执行
EN

Stack Overflow用户
提问于 2018-06-04 12:52:54
回答 1查看 733关注 0票数 1

我希望我的“预集成-测试”阶段是以下目标的执行,在这个特殊的顺序。

阶段:预集成测试

  • 获取一个spring引导jar (maven-依赖项-plugin:copy)
  • get-a-port (build-helper-maven-plugin:reserve-network-port)
  • 显示端口(maven-antrun-plugin:运行#1)
  • 启动服务器(exec-maven-plugin)
  • 等待启动(maven-antrun-plugin:运行#2)

有任何方法可以使用Maven 3来完成这个任务吗?

我面临的问题是,"maven-antrun- plugin : run“1& 2总是一个接一个地运行,因为它们是在同一个插件元素中定义的:

代码语言:javascript
复制
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.8</version>
                <executions>
                    <execution>
                        <id>display-port</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <target>
                                <echo>Displaying value of 'tomcat.http.port' property</echo>
                                <echo>[tomcat.http.port] ${tomcat.http.port}</echo>
                            </target>
                        </configuration>
                    </execution>
                    <execution>
                        <id>wait-for-startup</id>
                        <phase>pre-integration-test</phase>
                        <configuration>
                            <target>
                                <sleep seconds="10" />
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

现在,我找到的唯一方法就是复制pom文件中的"maven-antrun- plugin :“插件元素。但这给了我一个警告

代码语言:javascript
复制
'build.plugins.plugin.(groupId:artifactId)' must be unique but found duplicate declaration

对于这个问题的范围,我并不是在寻找解决方案,比如改变“显示端口”或“等待启动”的插件,或者改变目标的阶段。

我只想知道我想做的事是否可能。

EN

回答 1

Stack Overflow用户

发布于 2021-05-12 10:11:46

如果多个执行都有相同的阶段,那么第一个要执行的执行将是内置的一个(例如maven-编译器-插件),它的id是默认的,那么其他的执行将按照它们在pom文件中出现的顺序进行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50681112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档