maven-2 - 无法跳过 spring-boot-maven-plugin 的重新打包目标
问题描述
我有一个多模块 Maven 项目,其中包含一个由多个 Spring Boot 服务组成的应用程序。我正在尝试为服务设置集成和端到端测试,并使用组合 Maven 插件来协调它。
我有一个模块,旨在仅包含对执行某些工作的协作服务组的端到端测试。它仅包含测试代码和资源。我使用故障安全插件 ( org.apache.maven.plugins:maven-failsafe-plugin
) 执行集成测试,使用 Spring Boot Maven 插件 ( org.springframework.boot:spring-boot-maven-plugin
) 启动和停止“主”服务,使用 Maven exec 插件 ( org.codehaus.mojo:exec-maven-plugin
) 启动最终正在使用的其他服务端到端的测试。
我遇到了一个似乎与repackage
Spring Boot 插件的目标有关的问题。e2e 模块没有什么需要重新打包的,所以我想跳过这个目标。应该不会太难吧?
<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>
被忽视?
解决方案
您需要<id>repackage</id>
在执行上述目标后添加。
推荐阅读
- java - @Autowired Spring 组件在 CustomWebSecurityExpressionRoot 内抛出 null
- c# - Xamarin表单中内容扩展时如何使Frame扩展
- xamarin - Xamarin Forms Lottie 图像未显示
- c# - 从轮廓生成 HALCON 区域
- python - 如何在 python 的 scherrer 方程中拟合高斯模型?
- java - 如何从 ifPresentOrElse 语句中获取对象数据?
- javascript - 如何使时刻(日期)成为对象键,时刻(时间)是值;
- angular - Angular ControlValueAccessor 的 WriteValue 方法不会触发 ngModelChange
- android-fragments - 如何在 Android 的单个片段中使用多个视图模型?
- java - Java:将 ms word 转换为 pdf 时,标题空间中不需要的空格