首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能跳过spring-boot-maven-plugin的重新打包目标。

不能跳过spring-boot-maven-plugin的重新打包目标。
EN

Stack Overflow用户
提问于 2020-02-25 14:04:46
回答 2查看 2.4K关注 0票数 4

我有一个多模块Maven项目,其中包含由多个Spring服务组成的应用程序。我正在尝试为服务设置集成和端到端测试,并使用组合Maven插件来编排这一过程。

我有一个模块,它只包含执行某些工作的协作服务组的端到端测试。它只包含测试代码和资源。我使用故障安全插件(org.apache.maven.plugins:maven-failsafe-plugin)执行集成测试,使用Spring插件(org.springframework.boot:spring-boot-maven-plugin)启动和停止“主”服务,使用Maven exec插件(org.codehaus.mojo:exec-maven-plugin)启动在端到端测试中使用的其他服务。

我遇到了一个与Spring插件的repackage目标有关的问题。e2e模块没有什么需要重新打包的,所以我想跳过这个目标。不应该太难,对吧?

代码语言:javascript
复制
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>repackage</goal>
            </goals>
            <configuration>
              <skip>true</skip>
            </configuration>
          <execution>
          ...

这不管用。尽管如此,它还是会重新打包。

问题在于,Maven构建失败了,因为它找不到要重新打包的“主”类(我相信它是可执行的jar )。嗯,对于这个模块,无主类。

更重要的问题是:为什么<skip>true</skip>被忽略?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-25 16:17:29

您需要在高于目标的执行之后添加<id>repackage</id>

票数 6
EN

Stack Overflow用户

发布于 2021-05-27 13:05:12

我也面临着同样的问题。我通过使用<pluginManagement>标记在<plugins>上解析它。

代码语言:javascript
复制
      <pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
    </pluginManagement>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60396440

复制
相关文章

相似问题

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