Contents
  1. 1. Maven 概述
  2. 2. Maven 下载配置
  3. 3. 修改本地仓库地址
  4. 4. 快速起步
  5. 5. 插件 M2Eclipse 配置
  6. 6. 参考

Maven 概述、下载配置、快速起步 和 M2Eclipse配置

Maven 概述

  • Maven是用于Java的自动化构建工具,包括从清理、编译、测试到生成报告,再到打包和部署
  • 同时Maven也对构建过程进行了标准化
  • 提供中央仓库自动下载任何流行的开源类库

Maven 下载配置

官网下载 Maven http://maven.apache.org/download.cgi,解压到 E:\maven

配置环境变量
系统变量:C_MAVEN = E:\maven\apache-maven-3.2.5
系统变量:path = %C_MAVEN%\bin %%

要注意系统变量%JAVA_HOME%指向正确的JDK目录,否则会提示错误:

Error: JAVA_HOME not found in your environment. Please set the JAVA_HOME variable in your environment to match the location of your Java installation.

命令行测试

1
$ mvn -v


修改本地仓库地址

Maven 默认将本地仓库在 %USER_HOME%/.m2/repository 文件夹(%USER_HOME%表示用户目录)下。

而配置文件 %C_MAVEN%/conf/settings.xml可以全局范围地定制Maven的行为,其中找到

1
2
3
4
5
6
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->

在后面添上 <localRepository>E:/maven/.m2/repository</localRepository>,即修改了本地仓库地址——我个人的偏好。

在《Maven实战》2.7.2 提到的一条最佳实践是“复制 %C_MAVEN%/conf/settings.xml 文件到 %USER_HOME%/.m2/settings.xml”,也就是推荐用户范围的配置,这样主要是考虑升级方便吧。

个人必须喜欢同时下载源码和Javadoc,可参考maven 下载 源码和javadoc命令


快速起步

可以利用 maven archetype 创建项目的骨架:

1
$ mvn archetype:generate

出现很多可用的archetype(如最简单的war项目模板maven-archetype-webapp、Spring+Struts2+JPA等的AppFuse Archetype),直接回车就会选中默认项maven-archetype-quickstart,再填入groupIdartifactIdverstionpackage等。

4.png

会自动创建出一个Maven项目,默认地,主代码位于src/main/java目录,测试代码位于src/test/java目录,pom.xml位于项目的根目录,用于描述项目如何构建,声明项目依赖等等,未来所有的输出则会在target/目录下。

在pom.xml中部分元素的意义是:

  • groupId:Maven项目隶属的实际项目名。如com.stackess.mymaven表示由cstackess.com建立的mymaven项目。不应对应项目隶属的组织或公司,因为一个组织下会有很多实际项目
  • artifactId:Maven项目名。推荐做法是以“实际项目名-Maven项目名”作为artifactId,这样寻找更方便。如mymaven-core。
  • version:Maveb项目所处版本,快照(SNAPSHOT)代表不稳定。
  • packaging:Maven项目的打包方式,默认为jar,生成形式为“artifactId-version.jar”。如mymaven-core-1.0-SNAPSHOT.jar。

进入项目cd mymaven-core后,就可以执行:

  • 编译: mvn clean compile
    实际执行的插件和插件目标为clean:clean、resources:resource、compiler:compile。
  • 测试:mvn clean test
    实际执行的插件和插件目标包括……compiler:testCompile、surfire:test。
  • 打包:mvn clean package
    实际执行的插件和插件目标包括……jar:jar。因为默认打包类型为jar。
  • 安装:mvn clean install
    实际执行的插件和插件目标包括……install:install。项目的输出jar会被安装到Maven本地仓库中,供其他项目使用。

其实,在测试之前会先编译,在打包之前会先测试,在安装之前会先打包。


插件 M2Eclipse 配置

下载安装好 Eclipse 的 Maven 插件 m2eclipse (Eclipse 4.4 已集成)

《Maven实战》2.7.3 为保持IDE和命令行的一致,用外部的 maven。

1.png

修改配置文件地址,更新本地仓库地址

2.png

可以导入、新建 Maven Project。创建时不要选择 Create a simple project 选项,就能使用 Maven Archetype。

对任一 Maven Project 右键 Run As -> Maven build ... 可添加新的命令

3.png

Run As -> Maven build 时,会出现新的命令。在 Run Configurations中可进行命令的管理。


参考

  1. Building Java Projects with Maven
  2. Apache Maven 入门篇(上)
  3. Apache Maven 入门篇(下)
  4. Maven学习 (一) 搭建Maven环境
  5. Maven以及其Eclipse插件m2eclipse的安装
  6. m2eclipse简单使用
  7. Maven下载源码和javadoc命令
Contents
  1. 1. Maven 概述
  2. 2. Maven 下载配置
  3. 3. 修改本地仓库地址
  4. 4. 快速起步
  5. 5. 插件 M2Eclipse 配置
  6. 6. 参考