xiaoxin0 2013-04-20
最近经常使用Maven管理工程,于是总结一下使用过的Maven pom.xml配置。我本地使用的Maven版本是apache-maven-3.0.3。工程为普通java application打成jar包形式部署,web工程配置在后面也会做简要介绍。
一、基本配置
<!-- pom.xml文件以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/xsd/maven-4.0.0.xsd">
<!-- 声明pom.xml文件所支持的版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 全局性项目唯一标识,通常使用完全限定的包名来和其它项目区分 -->
<groupId>front</groupId>
<!-- 在给定的groupId内唯一的产品标识,也是输出的工程名 -->
<artifactId>front</artifactId>
<!-- 此项目输出的artifactId的当前版本 -->
<version>1.0</version>
<!-- 输出类型:jar、war、ear... -->
<packaging>jar</packaging>二、构建配置
<!-- 项目本地构建文件列表,可以改变文件构建过程 -->
<profiles>
<profile>
<!-- 开发环境配置 -->
<id>dev</id>
<!-- 默认执行开发环境配置 -->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- 各属性配置,在配置文件中直接使用${}占位即可 -->
<log.level>TRACE</log.level>
<!-- ... -->
</properties>
</profile>
<profile>
<!-- 线上环境配置 -->
<id>prod</id>
<properties>
<log.level>DEBUG</log.level>
<!-- ... -->
</properties>
</profile>
</profiles>使用方法:mvn clean package -Pdev 或者 -Pprod (执行不同的构建配置)进行打包。详情可以参见我的另一篇blog:
三、常量
<!-- 定义一些常量,在项目其他地方可以使用 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- ... -->
</properties>四、依赖管理
<!-- 此项目所有的依赖列表 -->
<dependencies>
<dependency>
<groupId>xxx</groupId>
<artifactId>xxx</artifactId>
<version>x.x.x</version>
<scope>xx</scope>
</dependency>
<!-- ... -->
</dependencies>