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>