针对多模块的项目存在的依赖问题
例如
- Parent父模块
- common
- common-util
- common-base
- service
- service-cms
- service-oss
- common
其中common下的包为普通的Maven模块,service下的包为需要SpringBoot发布的模块
common-base依赖 common-util,service依赖common-base
附上依赖的配置
以common-base模块依赖 common-util模块为例
common-util的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>common</artifactId>
<groupId>com.ymz</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>common-util</artifactId>
</project>
common-base的pom.xml文件
<!--添加如下代码到-->
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>common</artifactId>
<groupId>com.ymz</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>service-base</artifactId>
<!--添加依赖-->
<dependencies>
<dependency>
<groupId>com.ymz</groupId>
<artifactId>common-util</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
Idea项目依赖的添加
在Idea中打开Project Structure ==> Modules ==>common-base
==> Dependencies
如图所示
存在问题:
当使用Maven对common-util打完包之后,对 common-base项目直接进行package时,会显示找不到依赖( common-util中的类 )
问题的原因
spring-boot-maven-plugin插件,开发中在根项目的pom.xml文件中添加了spring-boot-maven-plugin插件,导致子项目出现问题.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
解决办法
将根项目中的spring-boot-maven-plugin插件注释掉,在真正需要的项目中添加,如service模块中
最后
如果还是出现上述问题,可以将依次重新打包,多考虑一下依赖的继承问题.