springboot多模块下引入公共模块打包出现找不到符号问题
1.项目结构
父项目聚合8个子项目。其中common为公共包,里面包含了许多公共方法,公共类等供其他子项目依赖。
2.问题描述
对项目进行mvn install时发现引入common包的项目无法成功,提示引入的类找不到符号错误。
3.问题定位
spring-boot-maven-plugin与apache-maven-plugin普通打包方式不一样,spring-boot-maven-plugin打包后的jar包可以直接用java -jar的方式执行。common包中不需要spring-boot-maven-plugin
插件,只需要普通打包即可。
4.问题解决
在父项目中去除spring-boot-maven-plugin插件。
1 <build> 2 <plugins> 3 <plugin> 4 <groupId>org.springframework.boot</groupId> 5 <artifactId>spring-boot-maven-plugin</artifactId> 6 </plugin> 7 </plugins> 8 </build>
需要独立运行的子模块中加入spring-boot-maven-plugin插件。
common包中也删除spring-boot-maven-plugin插件。
重新install即可。