Maven标签

来源:互联网 发布:东方日升数据造假 编辑:程序博客网 时间:2024/05/29 13:23

基本内容:
POM包括了所有的项目信息。
maven 相关:
pom定义了最小的maven2元素,允许groupId,artifactId,version。

所有需要的元素groupId:项目或者组织的唯一标志,并且配置时生成的路径也是由此生成,如org.codehaus.mojo生成的相对路径为:/org/codehaus/mojoartifactId: 项目的通用名称

groupId, artifactId, version:描述了依赖的项目唯一标志

version:项目的版本

packaging: 打包的机制,如pom, jar, maven-plugin, ejb, war, ear, rar, par

classifier: 分类

dependency:依赖(一般是个包什么的)

type:相应的依赖产品包形式,如jar,war

scope:用于限制相应的依赖范围,包括以下的几种变量:

compile :默认范围,用于编译

provided:类似于编译,但支持你期待jdk或者容器提供,类似于classpath

runtime:在执行时,需要使

test:用于test任务时使用

system:需要外在提供相应得元素。通过systemPath来取得
继承:

定义父项目
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>my-parent</artifactId>
  <version>2.0</version>
  <packaging>pom</packaging>
</project>

资源<resources> 

设置<build> :主要用于编译设置,包括两个主要的元素,build和report

插件 <plugins>:在build时,执行的插件,比较有用的部分,如使用jdk 5.0编译等等

dependencyManagement:
用于父项目配置共同的依赖关系,主要配置依赖包相同因素,如版本,scope。

详细:http://www.blogjava.net/zyl/archive/2006/12/30/91055.html

<propeties>用法,设变量,代替常量,用于以后更新的话,不用全都更新各地的常量,直接更该变量就行,比如版本更新


在pom.xml中添加依赖时语法如下

<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-core</artifactId>
 <version>1.2.6</version>
</dependency>

<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-aop</artifactId>
 <version>1.2.6</version>
</dependency>

 

以上内容没错,但有这样一个问题,在spring的依赖中,我们需要引用一系列版本的spring,如版本1.2.6。每次都写不利于维护。


 

二 解决办法

在pom.xml定义properties标签

<properties>
 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 <spring.version>1.2.6</spring.version>
 <developer.organization><![CDATA[xy公司]]></developer.organization>
</properties>

以上内容就改成了

<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-core</artifactId>
 <version>${spring.version}</version>
</dependency>

<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-aop</artifactId>
 <version>${spring.version}</version>
</dependency>


确实很清晰明了。

0 0