本文档,暂时只记录操作,不作原理讲解。
TODO:后续会尽量为一些操作步骤作出解释,毕竟实际过程中,踩坑太多!
- 新建springboot项目,包括parent项目,子项目common web,parent删除多余文件(基础操作,不会出问题)
- parent的pom.xml增加
<packaging>pom</packaging>
<modules>
<module>demo-common</module>
<module>demo-web</module>
</modules>
- common、web子项目添加继承关系,注意,此处删除了
<relativePath/>
- 待解
<parent>
<groupId>com.example</groupId>
<artifactId>demo2</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
- web项目,添加对common的依赖
<dependency>
<groupId>com.example</groupId>
<artifactId>demo-common</artifactId>
</dependency>
- parent的pom里添加依赖管理,将common添加进来,以便在web中引用
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>demo-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)
dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。
如果不在子项目中声明依赖,是不会从父项目中继承下来的;
只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;
另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。
-
有一种方式,是将第三步中删除的
<relativePath/>
修改为<relativePath>../pom.xml</relativePath>
-
properties中添加
<skipTests>true</skipTests>
,打包时跳过测试。 -
properties中添加version,整理所需要的依赖及依赖关系