Maven

来源:互联网 发布:jquery.js文件下载 编辑:程序博客网 时间:2024/06/05 23:39

-- Start

Maven 简介

Maven 是 Apache 的一个 Java 项目管理工具。Maven 可以非常方便的帮助我们构建 Java 项目,生成报告,文档等。

下载和安装 Maven

1. 在 Google 中搜索 Maven Download, 下载最新版的 Maven zip包, 解压在一个目录下,如:D:\Applications\Maven\apache-maven-3.2.2

2. 创建或修改下面的环境变量,注意不要照抄我的路径。

M2_HOME=D:\Applications\Maven\apache-maven-3.2.2M2=%M2_HOME%\binJAVA_HOME=D:\Applications\Java\jdk1.8.0_11Path=%M2%;%JAVA_HOME%\bin

3. 打开命令行提示符,运行下面的命令验证 Maven 安装是否成功。

C:\Users\Shangbo>mvn --versionApache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T21:51:42+08:00)Maven home: D:\Applications\Maven\apache-maven-3.2.2Java version: 1.8.0_11, vendor: Oracle CorporationJava home: D:\Applications\Java\jdk1.8.0_11\jreDefault locale: zh_CN, platform encoding: GBKOS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"C:\Users\Shangbo>

Maven Eclipse 插件

目前基本上所有的Eclipse 都自带 Maven 插件,如果你的 Eclipse 是个老古董,你需要安装 M2E 插件。

创建一个Maven项目

在 Eclipse 中选择 File-->New-->Project...,在弹出的对话框中选择 Maven Project, 然后 Next, Next, Next, 在下面的对话框中输入Goup Id, Artifact Id, 然后 Finish。如果你是第一次创建 Maven 项目,可能需要一些时间,因为 Maven 需要下载一些必须的 jar 包到本地的 Maven 库中。


创建 Maven 项目后,你的 Maven 项目会有如下的目录结构。main 分支下存放源代码,test 分支下存放测试代码,打包的时候测试代码不会被打入包内。从而使我们的包尽可能的小。

MavenTest|-- pom.xml`-- src    |-- main    |   `-- java    |       `-- com    |           `-- shangbo    |               `-- app    |                   `-- MavenTest    |                       `-- App.java    `-- test        `-- java            `-- com                `-- shangbo                    `-- app                        `-- MavenTest                            `-- AppTest.java

POM

其中 pom.xml 是 Maven 项目核心, POM 是项目对象模型的缩写(Project Object Model)

<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">  <modelVersion>4.0.0</modelVersion>  <groupId>com.shangbo.app</groupId>  <artifactId>MavenTest</artifactId>  <version>0.0.1-SNAPSHOT</version>  <packaging>jar</packaging>  <name>MavenTest</name>  <url>http://maven.apache.org</url>  <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  </properties>  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>    </dependency>  </dependencies></project>

其中 <groupId> 指的是开发此软件的公司的唯一标识。

<artifactId> 指的是此程序要打包成 JAR 或 WAR 的名字。

<packaging> 指的是此程序的打包类型。

<version> 指的是 JAR 或 WAR 的版本号,其中 SNAPSHOT 指的是此程序属于开发状态。

<name> 指的是项目的名字,用来生成文档。

<url> 指的是项目地址,用来生成文档。

当然 pom.xml 中还有许多其他的元素,你可以在 Google 中搜索 POM Reference 来查看它们的意义。

编译源代码

1. 在 Eclipse 中,在 pom.xml 文件上点击右键,在弹出的菜单中选择 Run AS --> Maven build,在弹出的对话框的Goals中输入 compile 来编译项目。

2. 你也可以在 pom.xml 所在的目录中执行如下的 Maven 命令来编译项目。

mvn compile

初次编译时可能需要一点时间,因为 Maven 需要下载项目依赖的 Jar 包到本地 Maven 库。编译好的 class 文件放到 target 目录下。

编译,运行测试用例

1. 在 Eclipse 中,在 pom.xml 文件上点击右键,在弹出的菜单中选择 Run AS --> Maven test 来编译并运行测试用例。

2. 你也可以在 pom.xml 所在的目录中执行如下的 Maven 命令来编译并运行测试用例。

mvn test

3. 如果你只想编译测试用例,那么你可以在 pom.xml 所在的目录中执行如下的命令。

mvn compile

打包

1. 在 Eclipse 中,在 pom.xml 文件上点击右键,在弹出的菜单中选择 Run AS --> Maven build,在弹出的对话框的Goals中输入 package 来打包项目。

2. 你也可以在 pom.xml 所在的目录中执行如下的 Maven 命令来编译项目。

mvn package

打包好的 Jar 或 War 放到 target 目录下。
如果你的其他程序要用到这个 Jar, 那么你可能需要将这个 Jar 包放到本地 Maven 库中,你可以执行如下的命令来打包并把它放到本地 Maven 库中。

mvn install

添加依赖

你可能已经注意到在 pom.xml 中有如下片段。这是因为我们的测试用例要用到 Junit 的 jar 包,当我们编译项目的时候,Maven 会自动帮我们从中央 Maven 库中下载相应版本的 junit jar 包的本地 Maven 库中,从而省去我们自己下载 jar 包的繁琐。在 Eclipse 中 Maven Dependencies 下你可以看到该 jar 包。

我们已经介绍了 <groupId>, <artifactId>, <version> 的意义。那 <scope> 是什么意思呢?请看下表。

compile    默认值,表示编译项目需要此jarprovided   表示此jar由 JKD 或 Web 容器等提供runtime    表示编译时不需要此jar,运行时需要test       表示运行测试用例需要此jarsystem     表示此jar永远可用,无需到 Maven 库中下载

  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>    </dependency>  </dependencies>

还有个问题,我们如何知道 junit 的 <groupId>, <artifactId> 和 <version> 呢?你可以在下面的这个网站去查找。

http://mirrors.ibiblio.org/maven2/

Maven 配置文件 settings.xml

如果 Maven 的中央库中没有我们需要的jar 怎么办?此外,好多大公司都有自己的 Maven 库,如何让 Maven 从我们自己的库中下载 jar 呢?如果我是通过代理访问网络呢?这些你都可以在Maven 配置文件 settings.xml 中进行设置。我们可以在如下两个目录中找到 setting.xml 文件。

${user.home}/.m2/settings.xml${maven.home}/conf/settings.xml

下面是我的目录

C:\Users\Shangbo\.m2\repository\D:\Applications\Maven\apache-maven-3.2.2\conf\

那么它们有什么区别呢,一个是从用户层面配置,一个是从全局层面配置。

-- 更多参见:项目管理精萃

-- 声 明:转载请注明出处
-- Last Updated on 2014-08-16
-- Written by ShangBo on 2014-08-15
-- End

0 0
原创粉丝点击