java之父子工程项目(module的使用)
一,我们使用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>