一,我们使用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>