1.1下载
去maven的官网下载最新版的maven,此时的最新版本为3.5.2,下载地址如下:http://www-eu.apache.org/dist/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.zip。
解压到本地,安装Maven前,先确保已安装JDK,CMD下输入java -version验证是否已安装JDK,如下为我本机的JDK版本:
1.2安装
解压到本地目录,比如我的环境中,在本地目录C:\Program Files\Java\apache-maven-3.5.2中.
1.3配置环境变量
在下面配置一下C:\Program Files\Java\apache-maven-3.5.2\conf目录中的settings.xml文件,更改一下如下配置:
<!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository --> <localRepository>C:\Program Files\Java\apache-maven-3.5.2\m2\repository</localRepository>
1.4设置环境变量:
MAVEN_HOME变量设置为C:\Program Files\Java\apache-maven-3.5.2,即下载下来的maven包解压路径;
另外在PATH变量前面增加%MAVEN_HOME%\bin;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xn3RMcwS-1587892607457)(http://images2015.cnblogs.com/blog/879896/201604/879896-20160422225120788-1165144654.jpg)]
最后检验配置是否成功:用win键+R,来打开命令行提示符窗口,即Dos界面,输入mvn --version 若出现以下情况说明配置成功
2.1 m2eclipse安装
我本机使用的Eclipse版本已经集成m2eclipse,如果没有集成的话,安装也很简单,有两种方式,
从Eclipse Marketplace上获取m2eclipse并安装:
首先要在Eclipse中安装插件:在Help–>install new software,输入下面地址http://download.eclipse.org/technology/m2e/releases,出现如下页面:
然后就像安装其他插件那样一路下一步就OK了。
这个就是eclipse管理maven的插件。
2.2配置eclipse
安装好m2eclipse后,一般不使用eclipse自带的maven,而是使用外部我们自己安装的maven版本,
因为Embedded内置的默认maven版本是我们即将要修改的,这个版本有点老了,这直接导致的后果就是在添加dependences的时候,maven的库不是最新的。
操作:在eclipse上只需作如下配置即可,如下图
然后设置用户settings,这是maven下载库的地址。如下图:
在实际操作中学习maven及其命令操作。
创建工程,红色是创建普通的maven工程的。粉色是创建web工程的。
3.1项目的结构
pom.xml:用于定义或者添加jar包的依赖
src-main:用于存放java源文件
src-test:用于存放测试用例。
也许工程下还会出现target文件夹,这个是用来生成对应的class文件或发布的jar包。
Eclipse中maven常用的命令,
点击Run As就可以发现几个Maven的命令:
Maven Build:
这个命令用于编译Maven工程,执行命令后会在target文件夹中的classes中生成对应的class文件。
使用Build的时候,会让你选此次build的目标goal,下附主要的goal选项:(左边这列是步骤名,同时也是phase的名字,右边是对应的goal):
步骤名 | 对应的goal |
process-resources | resources:resources |
compile | compiler:compile |
process-test-resources | resources:testResources |
test-compile | compiler:testCompile |
test | surefire:test |
package | jar:jar |
Maven Clean:删除target文件夹,即删除生成的package包以及class等文件。
Maven Test:先自动进行编译,在运行所有的测试用例。
Maven install:发布生成对应的package包。
注意:
留意上面的命令的作用,build和test都会生成相应的class文件。也就是说,当你新建一个maven工程,或者clean一个maven工程后,如果没有使用这两个命令,直接针对类进行测试,会跑出java.class.notfound的错误。因为此时还没有编译生成class文件,如果有朋友发现这个问题注意一下就好了。(该部分只针对旧版本,新版本如maven3.3是可以自动编译的)
只有使用了上面的两个命令后,才能针对某个类进行单元测试。
现在eclipse可以使用自带的run as来进行maven但是对于linux来说还是命令好用,下面通过一个例子演示maven命令的使用。
1、 编译:mvn compile --src/main/java目录java源码编译生成class (target目录下) 测试:mvn test --src/test/java 目录编译 清理:mvn clean --删除target目录,也就是将class文件等删除 打包:mvn package --生成压缩文件:java项目#jar包;web项目#war包,也是放在target目录下 安装:mvn install --将压缩文件(jar或者war)上传到本地仓库 部署|发布:mvn deploy --将压缩文件上传私服 2、 下面我们看项目代码: 一个简单的类com.liuyan.maven.helloword.HelloWorld package com.liuyan.maven.helloword; public class HelloWorld { public String sayHello() { return "hello maven"; } /** * @param args */ public static void main(String[] args) { System.out.println(new HelloWorld().sayHello()); } } 3、 在此项目的根目录下有一个pom.xml文件,内容是默认的,暂时不用管。 进入控制台,将当前目录cd到与pom.xml同级的文件夹下面(或者使用shift进入)。执行编译命令: mvn clean compile
执行后造成的结果。就是项目的根路径下出现了一个taget文件夹。
1、 里面就是编译后的class类。经理过来说,你需要进行单元测试才能发布出来给大家用。Ok,我们在源码包——src/test/java下面开始编写junit单元测试类。 单元测试代码如下 package com.liuyan.maven.helloword; import org.junit.Test; import org.junit.Assert; public class TestHelloWorld { @Test public void testSayHello() { HelloWorld helloWorld = new HelloWorld(); Assert.assertEquals(helloWorld.sayHello(), "hello maven"); } } 2、 之后我们因为使用了junit单元测试,那么就是说我们这个项目依赖了它。修改一下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.liuyan.maven</groupId> <artifactId>MavenDemo</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.7</version> <scope>test</scope> </dependency> </dependencies> </project> 3、 进入命令行,执行命令 mvn clean test 4、 执行后观察一下taget文件夹如下图,多出了test-classes文件夹和另外2个咱们暂时不用去管的文件夹。 之后在观察一下本地的临时仓库C:\Users\liuyan.m2\repository,会多出文件夹junit,下载的版本是4.7。 如果我们想把项目打成jar的形式输出出去呢?在项目根目录下执行 mvn clean package
执行后效果如下
生成了一个jar包,至于SNAPSHOT是快照的意思,快照就是项目暂时还不稳定的意思。
打包测试后没问题了,想把此项目当做Maven的本地资源仓库,为其他的项目也能提供服务,可以这么做。
执行命令
mvn clean install
执行后本地的临时库文件多了你自己的这个项目。这样别的项目需要你这个项目提供服务的时候就可以从本地Mavne库中提取相应的jar了。
原文链接:https://blog.csdn.net/u012052268/article/details/78916196