转载自:【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
插件,即如下的配置节点:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
通过该插件打出jar包不同于直接使用maven插件打出的jar包。当某一个项目只作为一个公共的依赖时,去掉springboot的maven插件即可。