SpringBoot多模块项目打包问题--存在依赖但却无法发现符号


转载自:【SpringBoot错误笔记】springboot多模块项目mvn打包遇到的问题 - 存在依赖但却无法发现符号


这是一个什么问题呢?我来阐述一下,问题大致是这么一个情况:

我有一个SpringCloud项目,每个微服务都是一个SpringBoot工程,其中有一个payment项目依赖了一个公共的模块common项目。payment项目和common项目都同属一个父工程的子module

此时我想要把项目打成jar包,部署到服务器上运行

首先我肯定输入mvn clean install -DskipTests=true将common模块进行打包到本地仓库中

然后我再对payment项目进行打包mvn clean package -DskipTests=true

然后mvn命令error (找不到符号),即payment找不到common里的类,所以报错,无法打包

解决方案:

去掉common项目pom.xml中自动配置的spring-boot-maven-plugin插件,即如下的配置节点:

1
2
3
4
5
6
7
8
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

通过该插件打出jar包不同于直接使用maven插件打出的jar包。当某一个项目只作为一个公共的依赖时,去掉springboot的maven插件即可。

最后的最后,安利一下自己写的一个Java代码生成工具,能够方便的生成Spring、SpringMVC、Mybatis架构下的Java代码,希望能对大家有所帮助,地址:Java代码生成器:Generator