我有一个maven多模块项目,设计类似于以下SO帖子中的第一个答案: 带有Spring Boot的多模块maven
现在我想要一个通用的maven模块,它可以包含一些模型供多个微服务使用.如果我将这个常见项目作为第一级父pom的子项(这样所有依赖项通过引导注入,如jpa,jackson等可用于公共),那么STS/Spring将其检测为启动应用程序并抱怨没有Main关于maven构建的课程.
有人可以建议我如何实现这一目标吗?
现行代码:
parent pom.xml :(仅包含相关部分)
... ... ... pom ... org.springframework.cloud spring-cloud-starter-parent Brixton.M3 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-jetty org.springframework.boot spring-boot-maven-plugin repackage
子(公共模块)pom.xml(只有相关部分),不是启动应用程序:
... ... ... ... ... ...
Stephane Nic.. 7
我没有关于你的项目的所有细节,但我最好的猜测是spring-boot-maven-plugin
在父项上定义(或者你spring-boot-starter-parent
在根pom中使用).这有效地要求构建将您的模块打包为Spring Boot应用程序(这不是您想要的).
STS可能会查找该提示,以确定模块是否包含Spring Boot应用程序.如果它寻找一个用@EnableAutoConfiguration
(或SpringBootApplication
)注释的主类,也许会更好.
您可以通过指定重新打包目标的skip属性轻松地(从构建方)修复问题
org.springframework.boot spring-boot-maven-plugin true
如果STS仍然将模块作为Spring Boot应用程序选中,我会在他们的跟踪器中创建一个问题
我没有关于你的项目的所有细节,但我最好的猜测是spring-boot-maven-plugin
在父项上定义(或者你spring-boot-starter-parent
在根pom中使用).这有效地要求构建将您的模块打包为Spring Boot应用程序(这不是您想要的).
STS可能会查找该提示,以确定模块是否包含Spring Boot应用程序.如果它寻找一个用@EnableAutoConfiguration
(或SpringBootApplication
)注释的主类,也许会更好.
您可以通过指定重新打包目标的skip属性轻松地(从构建方)修复问题
org.springframework.boot spring-boot-maven-plugin true
如果STS仍然将模块作为Spring Boot应用程序选中,我会在他们的跟踪器中创建一个问题