maven是一个项目管理工具,包含项目对象模型、标准集合、项目生命周期、依赖管理系统
1. 下载maven:http://maven.apache.org/download.cgi,并解压,我的版本是apache-maven-3.3.3
设置环境变量
创建M2_HOME:解压包的路径
编辑Path加上:%MAVEN_HOME%\bin;
坚持是否配置成功,在终端输入mvn -v,显示了maven版本号等信息证明安装成功。
maven的默认仓库在home目录下的 .m2文件夹。
最好设置自己的仓库地址,避免占用系统盘过多空间,我的是放在D:\maven\repos。这需要修改apache-maven-3.3.3\conf下的settings.xml:
加上红色标注的那行
<!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> --> <span style="color:#ff0000;"> <localRepository>D:\maven\repos</localRepository></span>
maven默认添加资源下载地址的镜像源是maven中央仓库,我们可以在settings.xml还要添加别的下载速度较快的镜像源:
<mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used | for inheritance and direct lookup purposes, and must be unique across the set of mirrors. | <mirror> <id>mirrorId</id> <mirrorOf>repositoryId</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://my.repository.com/repo/path</url> </mirror> --> <span style="color:#ff0000;"><mirror> <id>UK</id> <name>UK Central</name> <url>http://uk.maven.org/maven2</url> <mirrorOf>central</mirrorOf> </mirror></span> </mirrors>
修改好后将setting.xml复制一份到你的仓库地址下。
2. 创建第一个maven项目HelloWorld。在终端切换到你的工作目录下(最好是Eclipse workspace,方便查看),我的是D:\workspace\mavenPro
输入:
mvn archetype:generate -DgroupId=com.mycompany.firstPro -DartifactId=helloworld -Dpackage=com.mycompany.firstPro.helloworld -Dversion=1.0-SNAPSHOT -DinteractiveMode=false -DarchetypeCatalog=internal
命令太长看蒙了?解释一下:
archetype:generate 命令来生成一个项目 ,archetype 是一个插件的名字。
groupId:一个工厂在全局中唯一的标识符,一般就是工程名。
artifactId:定义实际项目中的一个模块
package:表示打包任务,一般是工程名+模块名
version:版本,稳定版和快照版,这里是快照版
interactiveMode:
archetypeCatalog:表示插件使用chetype元数据,默认值为remote,local,即中央仓库archetype元数据加上插件内置元数据的和,将其设置为internal指定不从远程服务器上取catalog,可以让你快速的秒建项目。否则如果你的网络差的话会卡在[INFO]
Generating project in Interactive mode这条提示命令。
首次创建项目花的时间会比较长,因为要下载很多依赖jar包到你的仓库。
看到如下的信息证明你的项目创建成功
可以打开工作目录看看maven为我们创建了哪些文件。
我们用eclipse 导入这个项目看看是什么样的结构
maven项目采用“约定优于配置”的原则,src/main/java约定用于存放源代码,src/main/test用于存放单元测试代码,src/target用于存放编译、打包后的输出文件。这是固定的结构。
3. 编译项目
在终端进入到helloworld项目,输入mvn clean compile
编译后会自动在target目录中生成class文件。
4. 单元测试
mvn clean test
从输出上可以发现,test前,会先执行compile,即先编译,再执行单元测试.
有兴趣的朋友,可以修改下/src/test/java/com.mycompany.helloworld/AppTest.java里的内容,把testApp()方法中的assertTrue( true );改成assertTrue( false );再跑下单元测试,看下有什么不同。
5. 项目打包
通常我们会把java项目打包成jar包或war包,maven中打包的命令为
mvn package
运行完后,会在target目录下生成jar包
从输出 可以发现,package前,会先执行compile,再执行test,最后才是package打包。
6. eclipse中集成maven
安装m2e插件
在eclipse工具栏中选择 Help--Install New Software,点Add
Name: m2e
Location: http://download.eclipse.org/technology/m2e/releases
点击next,勾选Maven Integration for Eclipse,next--next--同意协议--finish
等待安装好了重启eclipse。 window -> perferences -> Maven -> Installations ,将你maven的解压路径添加进去。
创建项目File -> New -> Maven Project -> Next
选择默认的maven项目,直接next
这里就是填maven项目的信息,跟之前的命令行是对应的。
创建完成后和我们命令行创建的是一样的。
右键项目run as——maven build... 在goal中输入clean compile 就可以编译了
输入test、package即测试、打包。
版权声明:本文为博主原创文章,未经博主允许不得转载。