在使用maven多模块整合springboot项目时候,意外发现mvn install 报错提示main方法找不到
错误日志如下:
Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.5.2.RELEASE:repackage failed: Unable to find main class
google之,发现很多都是提示类似问题可能是因为项目中多个main导致的,需要在pom.xml中配置
properties>
1.8
1.8
org.roshan.Application
又或者
profiles>
profile1
com.detaysoft.Application
又或者
org.springframework.boot
spring-boot-maven-plugin
repackage
${spring.boot.mainclass}
然而,病没什么乱用.
所以经过一番排除之后,发现其实是plugin配置的问题,罪魁祸首就是
org.springframework.boot
spring-boot-maven-plugin
因为父项目中的pom.xml如上面配置,意思是直接试用plugin的意思,这里父类项目中直接应用maven-plugin.所以会去每个module中寻找main方法进行编译,一旦不需要run的module被检查到没有main方法 所以 哼哼…
解决方式2种:
1 直接在需要run的module里面配置maven-plugin
2. 想直接在parent-module中配置,可以用pluginManagement标签,表示声明插件变量,所有child-module都可以继承,也可以覆盖.
org.springframework.boot
spring-boot-maven-plugin
没了.
参考: https://stackoverflow.com/questions/42937577/unable-to-find-main-class-with-maven-on-spring-boot-project-in-eclipse