maven pom文件结构简析

要使用maven,入门的最好办法就是在myeclipse中直接新建一个maven项目,同时勾选create a simple project选项,这样能快速创建一个简单的默认类型的符合maven默认结构的maven项目。然后就需要为项目配置各种依赖了,使用maven pom editor打开pom.xml文件,在下方切换到Dependency视图,就可以图形化的添加依赖了。

 

不过图形化视图只是辅助手段,多多少少的还需要手工编辑pom.xml文件,这时候如果熟悉pom.xml文件结构的话,就会方便的多。

 

pom文件是以标签的形式展现的,根节点是一个project标签。其他标签都是写在其内部的。通常会使用到如下几种标签:

 

<modelVersion>      指定了当前模型的版本,和maven有关。使用默认值即可。

<groupId>

<artifactId>

<version>

这三个要一起说,因为这三个通常一起规定了某一个构建(一个jar、war包等就是一个构建)。groupid通常是公司域名的倒写(也可以认为是同一组的jar);artifactid是构建本身的名字,名字中最好不要带—. 等字符(因为这些字符在maven构建命名规范中属于关键字);version规定了当前构建的版本,版本号通常以.隔开(废话)。

<packaging>              指定了当前构建的类型,常用的有jar,war,pom等。

<build>                       指定如何构建当前的构建。里边通常包含的标签有:

<resources>:指定了当前构建的source目录

<plugins> :指定了进行构建时使用的插件。

build标签的具体使用会在以后的章节中描述。

<dependencies>:指定当前构建都需要哪些依赖,<dependencies>会包含若干个<dependency>子标签

<dependency>:此标签是被包含在<dependencies>标签中的,每一个dependency标签都对应一个依赖。

<properties>    :其中包含了若干个自定义属性,通常的做法中,会将各个依赖的版本放置到此标签中。

 

一个pom文件用的最多的几个标签就是上述几个,应该比较容易理解。文章结尾在贴出一个简单的pom.xml文件:

 

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.     <modelVersion>4.0.0</modelVersion>  
  4.     <groupId>com.test</groupId>  
  5.     <artifactId>TestMavenPom</artifactId>  
  6.     <version>1.0.0</version>  
  7.     <properties>  
  8.         <commons-lang3>3.3.2</commons-lang3>  
  9.     </properties>  
  10.     <build>  
  11.         <plugins>  
  12.             <plugin>  
  13.                 <artifactId>maven-compiler-plugin</artifactId>  
  14.                 <configuration>  
  15.                     <source>1.6</source>  
  16.                     <target>1.6</target>  
  17.                 </configuration>  
  18.             </plugin>  
  19.         </plugins>  
  20.     </build>  
  21.     <dependencies>  
  22.         <dependency>  
  23.             <groupId>org.apache.commons</groupId>  
  24.             <artifactId>commons-lang3</artifactId>  
  25.             <version>${commons-lang3}</version>  
  26.         </dependency>  
  27.     </dependencies>  
  28. </project>  
posted @ 2018-02-24 10:28  飘飘雪  阅读(724)  评论(0编辑  收藏  举报