一,我們使用idea新建項目,都是默認下一步即可
1》如下如
2》新建出來是這個結構,刪除src,把這個當作父工程
3》新鍵兩個module當作子工程
4》結構如下圖
二,這個時候父工程的pom.xml文件會自動添加如下代碼,結構如下
1》如下代碼
<modules> <module>testA</module> <module>testB</module> </modules>
2》我們將子工程添加到父工程管理,統一管理依賴版本,父工程完整的pom.xml代碼如下(PS:dependencyManagement和dependencies區別就是只是管理,可是沒有引入,子父工程依賴版本管理的關鍵,詳細的區別可以百度下~~~)
<?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"> <modelVersion>4.0.0</modelVersion> <groupId>com.nl.test</groupId> <artifactId>test-demo</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <modules> <module>testA</module> <module>testB</module> </modules> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.2.3.RELEASE</version> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.nl.test</groupId> <artifactId>testB</artifactId> <version>${project.version}</version> </dependency> </dependencies> </dependencyManagement> </project>
PS:這個管理必須跟testB的pom.xml一樣
testB的pom.xml如下
3》我們看下testB的pom.xml,有個點必須要注意,這和<packaging>jar</packaging>必要要添加,要不然一直識別不了引用,如下代碼
<?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>test-demo</artifactId> <groupId>com.nl.test</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <!--必須加,這個是可以被引用的必須配置--> <packaging>jar</packaging> <artifactId>testB</artifactId> </project>
三,步驟都准備完成,我們去TestA的TestApplication引用下,如下圖,引用成功
總結:
1》要注意被引用的包的groupId和artifactId是否一直
2》要注意被引用的包添加<packaging>jar</packaging>