写在前面:
- 本文转载了https://blog.csdn.net/cpf2016/article/details/45674377的很多内容,多谢!
- 刚开始写,刚开始学,不好之处还请批评指正!
一、Maven的POM:
maven 通过pom.xml来配置项目的基本信息、依赖信息、构建信息等,和 Ant 的build.xml 一个道理
(一)基本信息
在标签内配置,主要有:
-
<groupId>
: 组织标识,例如:org.codehaus.mojo,在M2_REPO目录下,将是: org/codehaus/mojo目录。 -
<artifactId>
: 项目名称,例如:my-project,在M2_REPO目录下,将是:org/codehaus/mojo/my-project目录。 -
<version>
: 版本号,例如:1.0,在M2_REPO目录下,将是:org/codehaus/mojo/my-project/1.0目录。 -
<packaging>
: 打包的格式,可以为:pom , jar , maven-plugin , ejb , war , ear , rar , par。如果是继承自别的pom则需要写成pom。
(二)继承信息
如果不在子pom.xml
中删除,会报一下提示:
在<project></project>
标签内配置,pom.xml文件的依赖关系:
- 对于“爸爸”,要写的:
<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
https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.codehaus.mojo</groupId>
<artifactId>my-parent</artifactId>
<version>2.0</version>
<!-- 父类 packaging 必须设置为 pom -->
<packaging>pom</packaging>
<!--统一配置junit的依赖-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifact>
<version>4.0.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
</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
https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.codehaus.mojo</groupId>
<artifactId>my-parent</artifactId>
<version>2.0</version>
<!-- relativePath 不是必需的,用于指定在搜索本地和远程存储库之前,最先搜索父项的路径。 -->
<!--以本pom.xml为基准,定位父pom.xml位置-->
<relativePath>../my-parent/pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>junit