POM的版本
<modelVersion> 用来描述这个POM文件是遵从那个版本的项目描述符
每一个 POM.xml 都需要配置 <groupId> 、<artifactId> 、<version>。
一个工件的名称格式如下: <groupId> :<artifactId> :<version> 。
所以说,一个 POM.xml 文件的最短格式如下(必须包括 modelVersion 、artifactId 、version 、groupId):
1 <project> 2 <modelVersion>4.0.0</modelVersion> 3 <groupId>com.mycompany.app</groupId> 4 <artifactId>my-app</actifactId> 5 <version>1</version> 6 </project>
但是,当一个 POM.xml 文件指定了一个父POM,那么你可以选择省略 groupId ,version 这两个字段,去沿用父POM的原字段,如下:
1 <project> 2 <parent> 3 <groupId>com.mycompany.app</groupId> 4 <artifactId>my-app</artifactId> 5 <version>1</version> 6 </parent> 7 <modelVersion>4.0.0</modelVersion> 8 <artifactId>my-module</artifactId> 9 </project>
以上的文件的项目结构如下图所示(父POM的位置在module的上一级目录):
1 . 2 |-- my-module 3 | `-- pom.xml 4 `-- pom.xml
如果父POM不在上一级目录(项目位置如下),该如何配置呢?
1 . 2 |-- my-module 3 | `-- pom.xml 4 `-- parent 5 `-- pom.xml
我们可以去指定<relativePath>元素,用相对路径来表示出父POM的位置,如下:
1 <project> 2 <parent> 3 <groupId>com.mycompany.app</groupId> 4 <artifactId>my-app</artifactId> 5 <version>1</version> 6 <relativePath>../parent/pom.xml</relativePath> 7 </parent> 8 <modelVersion>4.0.0</modelVersion> 9 <artifactId>my-module</artifactId> 10 </project>
dependencies和dependency
dependencies包含dependency,添加依赖,依赖是指运行当前的项目,需要依赖于其他的jar包。