(六) pom.xml 配置文件
虫师 创建于 about 7 years 之前
最后更新: less than a minute 之前
阅读数: 199
用 Maven 来管理 Java 项目的第三方库,最主要是通过 pom.xml 文件,这一小节将解释该文件的使用。
pom.xml 文件
以 (四)通过 mvn 命令创建 Maven 项目 创建的项目为例。打开项目根目录下的 pom.xml 文件。
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.myapp.pro</groupId>
<artifactId>myapp</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>myapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
* project:pom.xml文件中的顶层元素;
* modelVersion:指明POM使用的对象模型的版本。这个值很少改动。
* groupId:指明创建项目的组织或者小组的唯一标识。GroupId是项目的关键标识,典型的,此标识以组织的完全限定名来定义。比如,org.apache.maven.plugins是所有Maven插件项目指定的groupId。
* artifactId:指明此项目产生的主要产品的基本名称。项目的主要产品通常为一个JAR文件。第二,象源代码包通常使用artifactId作为最后名称的一部分。典型的产品名称使用这个格式:
* version:项目产品的版本号。Maven帮助你管理版本,可以经常看到SNAPSHOT这个版本,表明项目处于开发阶段。
* name:项目的显示名称,通常用于maven产生的文档中。
* url:指定项目站点,通常用于maven产生的文档中。
* description:描述此项目,通常用于maven产生的文档中。
管理第三方库
对于一个第三方库的添加,下面的几个参数是我们需要关注的。
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
- compile,缺省值,适用于所有阶段,会随着项目一起发布。
- provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
- runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
- test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
- system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
通过查看pom.xml中Junit的配置,显然版本有些旧了,我们去下载最新的Junit4,但我们又不知道Maven中的具体的版本怎么办呢?我们可以到 Maven 的中央仓库去查询。
Maven仓库:http://mavenrepository.com/
通过该网站查询“Junit”, 找到 Junit4 最新版本的配置。
修改 pom.xml 中的 Junit4 的配置。
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
或者通过 Maven 命令(插件)更新项目的第三方库。
myapp > mvn clean
myapp > mvn idea:idea
关于 Maven 插件列表参考: http://maven.apache.org/plugins/index.html