工程管理之四:Maven工程管理配置

最近经常使用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>

相关推荐