在maven的设计理念中,一个大项目通过maven拆分成不同的模块,模块会分为父模块与子模块,就像父类和子类一样存在继承关系
<!-- project标签的值是固定的,并且该标签是必须的 -->
<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/maven-v4_0_0.xsd">
<!-- modelVersion 标签是必须的,并且4.0.0是固定值 -->
<modelVersion>4.0.0</modelVersion>
<!-- groupId的值就是项目的包名 -->
<groupId>一般是反写的公司网址+项目名</groupId>
<!-- artifactId的值是模块名,即项目命名 -->
<artifactId>code2-util</artifactId>
<!-- 项目版本,第一个0是大版本号,第二个0是分支版本号,第三个是小版本号 -->
<!-- SNAPSHOT快照、alpha内测、beta公测、Release稳定版、GA正式版 -->
<version>0.0.1-SNAPSHOT</version>
<name>项目描述名</name>
<url>项目地址</url>
<!-- dependencies标签里用于编写依赖项 -->
<dependencies>
<dependency>
<groupId>同上</groupId>
<artifactId>同上</artifactId>
<version>同上</version>
<type></type>
<scope>依赖的范围,若scope的值为test则代表该依赖只在测试范围里有用</scope>
<optional>设置依赖是否可选true或false,默认false</optional>
<!-- 排除依赖传递列表,比如a.jar依赖于b.jar,而b.jar依赖于c.jar,那么c对于a来说就是传递依赖,如果a不想依赖c就可以用这个标签 -->
<exclusions>
<exclusion>可以有很多的本标签来排除依赖</exclusion>
</exclusions>
</dependency>
<!-- 引入code生成的jar包 -->
<dependency>
<groupId>model</groupId>
<artifactId>code-model</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
<!-- 依赖的管理 -->
<dependencyManagement>
<dependencies>在这里编写依赖,定义在父模块,给子模块继承用</dependencies>
</dependencyManagement>
<!-- 为构建的行为提供相应的支持 -->
<build>
<!-- 插件列表,用于引入maven提供的插件 -->
<plugins>
<!-- 引入一个插件 -->
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>
</plugin>
</plugins>
<finalName>HelloWorld</finalName>
</build>
<!-- 用于在子模块中对父模块的继承 -->
<parent></parent>
<!-- 用于聚合多个模块一起编译 -->
<modules>
<module>模块名</module>
</modules>
</project>