第一、pom.xml中,父项目的父项目关注版本号:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
第二、父项目必须是个POM项目,这样表示:
<packaging>pom</packaging>
每三、确认是父项目,哪其中必然有其子项目的关系表示:
<modules>
<module>straw-portal</module>
<module>straw-generator</module>
</modules>
<modules> <module>../imooc-security-app</module> <module>../imooc-security-browser</module> <module>../imooc-security-core</module> <module>../imooc-security-demo</module> </modules>
每四、父项目控制版本号,但主要靠SPRINGBOOT控制,
即父项目的父项目 ,但个别的特殊的还是要写在一对标签中:
<properties> <java.version>1.8</java.version> <mybatis.plus.version>3.3.1</mybatis.plus.version> <pagehelper.starter.version>1.3.0</pagehelper.starter.version> </properties>
第五、一般项目,总有一个是核心项目,用core表示,比如:spring-security-core
做为核心项目,处理核心业务,而spring-security-brower和spring-security-app
做为对核心项目的拓展,我们一般把核心项目,做为依赖引入即可。但是把版本号
的位置写成一个变量,比如:<version>${tedu.security.version}</version>,而是把
真正的版本号写在父项目中,以便修改:
<properties> <imooc.security.version>1.0.0-SNAPSHOT</imooc.security.version> </properties>
对于拓展项目是子项目又是核心项目的拓展,一般这样表示:
<parent>//这儿父类,就是父项目 <groupId>com.imooc.security</groupId> <artifactId>imooc-security</artifactId> <version>1.0.0-SNAPSHOT</version> <relativePath>../imooc-security</relativePath> </parent> <dependencies> <dependency>//这个依赖就是核心项目 <groupId>com.imooc.security</groupId> <artifactId>imooc-security-core</artifactId> <version>${imooc.security.version}</version> </dependency> </dependencies>