Maven 和 M2Eclipse配置
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
,再填入groupId
、artifactId
、verstion
和package
等。
会自动创建出一个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。
修改配置文件地址,更新本地仓库地址
可以导入、新建 Maven Project。创建时不要选择 Create a simple project 选项,就能使用 Maven Archetype。
对任一 Maven Project 右键 Run As
-> Maven build ...
可添加新的命令
当 Run As
-> Maven build
时,会出现新的命令。在 Run Configurations
中可进行命令的管理。