这是我边学边写的maven笔记, 所以可能会存在问题
父工程的pom定义
properties 标签
这个标签是用来统一管理 jar包的版本, 使用这种方式相当于给版本号声明了一个变量
具体为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <properties> <xxxx> 8.0.23 </xxxx> </properties>
<properties> <java.version>11</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <org.projectlombok.version>1.18.20</org.projectlombok.version> <spring-cloud.version>2021.0.3</spring-cloud.version> <spring-cloud-alibaba.version>2021.0.4.0</spring-cloud-alibaba.version> <spring-cloud-alibaba.version>2021.0.4.0</spring-cloud-alibaba.version> <mybatis-plus.version>3.4.3</mybatis-plus.version> <hutool.version>5.8.11</hutool.version> <mysql.version>8.0.23</mysql.version> </properties>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <dependency> <groupId></groupId> <artifactId></artifactId> <version>${xxxx}</version> </dependency>
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency>
|
modules 标签
代表需要被放入的子标签
这里 oj-user 代表的是ArtifactId
1 2 3
| <modules> <module>oj-user</module> </modules>
|
packing 标签
在父级项目中的pom.xml文件使用的packaging配置一定为pom
如果没有特别指定这个标签的话, 那么默认就是jar 包, 所以这个标签一定要写上去
当然还有war 之类, 但是我这里就讨论上面两种就好了
1
| <packaging>pom</packaging>
|
dependencyManagement 标签
使用dependencyManagement可以统一管理项目的版本号,确保应用的各个项目的依赖和版本一致, 这样子模块和父模块就可以用到相同的版本了
1 2 3 4 5 6 7 8 9 10
| <dependencyManagement> <dependencies> <dependency> <groupId>xxx</groupId> <artifactId>xxx</artifactId> <version>xxx</version> </dependency> </dependencies> </dependencyManagement>
|
子工程的pom定义
parent 标签
再项目创建之前, 默认的parent标签是springboot的, 但是我们是父子工程需要交换
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.17</version> <relativePath/> </parent>
<parent> <artifactId>xxx</artifactId> <groupId>xxx</groupId> <version>xxx</version> </parent>
|