记录下Maven常用的配置
<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">
<!-- 指定当前POM的版本 -->
<modelVersion>4.0.0</modelVersion>
<!--
maven提供了三个隐式的变量,用来访问系统环境变量、POM信息和maven的settings:
env
暴露操作系统的环境变量,比如env.PATH
project
暴露POM中的内容,用点号(.)的路径来引用POM元素的值,比如${project.artifactId}。另外,java的系统属性比如user.dir等,也暴露在这里。
settings
暴露maven的settings的信息,也可以用点号(.)来引用。maven把系统配置文件存放在maven的安装目录中,把用户相关的配置文件存放 在~/.m2/settings.xml(unix)或者%USERPROFILE%/.m2/settings.xml(windows)中。
-->
<!--
自定义属性
如下调用时 ${java-version}, ${spring-version}
-->
<properties>
<java-version>1.7</java-version>
<spring-version>4.0.2.RELEASE</spring-version>
</properties>
<!-- 父模块信息, 子模块必须 -->
<parent>
<groupId>父模块groupId</groupId>
<artifactId>父模块artifactId</artifactId>
<version>父模块版本号</version>
</parent>
<!-- 子模块列表, 父模块必须 -->
<modules>
<module>子模块artifactId</module>
...
</modules>
<groupId>反写的公司网站+项目名</groupId><!-- 子模块中可不写,继承父模块 -->
<artifactId>项目名+模块名</artifactId>
<!--
0.0.0
第一个0代表大版本号
第二个0代表分支版本号
第三个0代表小版本号
snapshot 快照
alpha 内部测试
beta 公测
release 稳定
GA 正式
-->
<version></version><!-- 子模块中可不写,继承父模块 -->
<!-- 默认是jar, 可以生产 war, zip, pom -->
<packaging>pom</packaging>
<name>项目描述名</name>
<url>项目地址</url>
<description>项目描述</description>
<developers>开发人员列表</developers>
<licenses>许可证</licenses>
<organization>组织机构信息</organization>
<!--
依赖关系列表
当存在依赖冲突时,默认短路优先(如 1:a->b->e-f, 2:a->c->g->m->f, 默认选择1)
-->
<dependencies>
<dependency>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<type></type>
<!--
compile,缺省值,适用于所有阶段,会随着项目一起发布。
provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
import,只有用dependencyManagement。
-->
<scope>依赖范围</scope>
<optional>是否可选依赖:true, fals. 默认false</optional>
<!-- 排除依赖的列表 -->
<exclusions>
<exclusion>
<groupId></groupId>
<artifactId></artifactId>
</exclusion>
...
</exclusions>
</dependency>
...
</dependencies>
<!-- 依赖管理, 不会被运行,用于子模块继承父模块 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<type></type>
<scope></scope>
<optional></optional>
<exclusions>
<exclusion></exclusion>
...
</exclusions>
</dependency>
...
</dependencies>
</dependencyManagement>
<!-- 项目构建 -->
<build>
<!-- 插件列表, 参考地址:http://maven.apache.org/plugins/index.html -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
<!-- 插件配置 -->
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
</project>
相关网址:
Maven官网:http://maven.apache.org/
Maven中央仓库:http://mvnrepository.com/