IDEA创建Maven子项目
IDEA创建普通Maven项目,设置坐标(GAV:groupId、artifactId、version)
parent_test
以parent_test当作父项目为例
pom.xml
parent_test的坐标信息
<groupId>com.dfbz.test</groupId>
<artifactId>parent_test</artifactId>
<version>1.0-SNAPSHOT</version>
在坐标信息下方添加packaging
(打包方式)为pom
<packaging>pom</packaging>
打包方式和项目类型有关
java项目的打包方式为jar
web项目的打包方式为war
若准备创建子项目则不论创建什么类型的Maven项目
父项目打包方式都设置为pom
将child_test命名为子项目
添加modules
标签
在modules标签中添加module
标签
在module标签中填写子项目的名称
若有多个子项目则添加多个module标签在一个modules标签中即可
child_test
IDEA创建与父项目类型相同的Maven项目
以child_test为命名作为parent_test的子项目
pom.xml
在child_test中的pom.xml中
将原先的坐标信息仅保留artifactId
标签
在artifactId标签下方创建parent
标签
并将父项目的坐标信息复制到parent标签中
<artifactId>child_test</artifactId>
<parent>
<groupId>com.dfbz.test</groupId>
<artifactId>parent_test</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
再将父项目的pom.xml的相对路径写到relativePath
标签中
将relativePath标签添加到parent标签中
<relativePath>../parent_test/pom.xml</relativePath>
这里的相对路径与父项目和子项目的路径有关
若父项目与子项目的目录同级
则路径应写为../父项目名称/pom.xml
若子项目创建在父项目目录中
则路径应写为../pom.xml
其他目录放置情况,以此类推不再赘述
IDEA父项目中显示子项目
IDEA打开parent_test
点击File→Project Structure…
点击Modules点击右侧+号添加子项目
选择Import Module
找到子项目位置,选中子项目最外层目录点击OK
在Import Module弹窗中选择Import module from external model→Maven
点击Finish
Modules列表中出现所添加的子项目后点击OK
现在,父项目和子项目就同时显示在IDEA中了,且均可编译运行
依赖的继承
以继承junit为例
parent_test
在parent_test的pom.xml添加dependencies
标签
并在dependencies标签中添加junit依赖
设置junit的scope
为compile
(范围是编译)
注:若这里的参数写为非compile(如test)则junit依赖无法传递给子项目,
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>compile</scope>
</dependency>
</dependencies>
刷新Maven
External Libraries外部资源库中出现junit相关jar包
在父项目中创建测试java类,创建测试方法(@Test注解的方法)
测试方法可以正常运行
child_test
通过继承父项目的junit依赖,子项目不需要再写junit依赖就可以直接使用junit相关功能
直接在子项目中创建java测试类,创建创建测试方法(@Test注解的方法)
测试方法可以正常运行