我有一个包含多个模块的项目。其中一些使用弹簧靴,另一些是没有任何弹簧依赖的普通罐。 所以我为每个模块设置了父pom.xml。问题在于春季启动项目。
我在每个Spring启动项目中列出了here 所列的scope=import
弹簧启动依赖关系。它是否正确?或者我应该将它移到我的父POM中吗?
我遇到的问题 1.当我从顶层文件夹运行mvn包时,它不会重新打包弹簧启动罐。 我的春季启动项目列出了其他春季启动依赖项。使用spring boot starter作为父级,他们不需要版本标记。现在他们做了。我已将其定义为我父pom中的属性并添加了版本标签,但想知道这是否更好。
感谢阅读。
更新对评论#1的回复:我的父POM中有spring-boot-maven-plugin
,如下所示
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.1.9.RELEASE</version>
</plugin>
</plugins>
<pluginManagement>
....
</build>
我也试过在我的春季启动项目中手动运行mvn spring-boot:repackage
- 但错误出现在:repackage failed: Source must refer to an existing file -> [Help 1]
答案 0 :(得分:6)
如果你不从spring boot parent继承,你必须在你的pom的plugins部分声明spring-boot-maven-plugin才能重新打包。
您必须在插件中添加以下内容:
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
您应该将插件放在父pom中的pluginManagement下,然后添加
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
每个构建部分下的每个模块都依赖于弹簧启动。