第一步 下载Maven
去Maven的官网下载一个最新的Maven
第二步 配置环境变量
在安装Maven之前首先要确保电脑上已经正确配置了Java
将Maven随便解压到电脑的某个位置,这里我解压到D盘根目录下
配置环境变量
新建一个系统变量,当然如果是当前用户,也可以建一个用户变量
变量名为MAVEN_HOME
变量值就是Maven解压的位置
配置Path
在Path后面追加%MAVEN_HOME%\bin;
配置好之后,在命令行输入mvn-v 就可以查看Maven是否安装成功
如果输出如下信息说明Maven已经配置成功。
第三步 配置默认仓库位置
Maven默认会将下载的jar包放在当前用户的目录下的.m2文件中。
因为linux下以.开头的文件是隐藏的,所以在windows下是.m2文件
关于Maven 的配置在Maven安装目录下的/conf/settings.xml或者/.m2/settings.xml
,~表示当前用户的目录。
前者是全局范围的,整台电脑上的所有用户都会受到该配置的影响,而后者是用户范围的,只有当前用户才会受到该配置的影响。推荐使用用户范围的settings.xml,主要是为了避免无意思地影响到系统中的其他用户。如果有切实的需求,需要统一系统中所有用户的settings.xml配置,当然应该使用全局范围的settings.xml。
默认仓库放在C盘用户目录下,就是${user.home}/.m2/repository,这样万一重装电脑会将下载的jar包全部消除,我们可以将仓库配置到另一个位置。
这里我在D盘建了一个目录叫JavaLibrary,在下面建一个repository目录
修改%MAVEN_HOME%/conf/settings.xml,大概在49-54行之间的localRepository标签,将这个标签从注释中放出来,并将路径配置为自己的路径。
<localRepository>D:/JavaLibrary/repository</localRepository>
配置好的settings.xml如下
将%MAVEN_HOME%/conf/settings.xml拷贝一份至D:/JavaLibrary/
这个拷贝主要是以后程序中使用的配置时不必修改原始的%MAVEN_HOME%/conf/settings.xml。
自定义settings.xml下载(配置了自定义仓库路径,jdk版本和阿里云服镜像下载速度飞起)
tip 2020-6-13完善
最近在一台不能联网的电脑上配置了maven之后程序可以引入依赖,可以在IDEA运行,但是用mvn命令就报错
could not transfer artifact xxx from/to central (https://repo.maven.apache.org/maven2):
最后网上的解答都是删除.lastUpdated文件,删了还不行,最后发现其他它还是用的是用户目录下.m2/settings.xml
最终解决方案是删除用户目录下.m2/repository/目录,并将上面配置号的settings.xml拷贝一份到.m2文件夹下面,后面不管什么ide,用户配置都是自己定义的这份配置。
所以建议配置maven配置文件在.m2/下也拷贝一份
配置好之后我们运行一下
mvn help:system
等命令执行完
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VnGajt5Z-1592055273619)(https://img-blog.csdn.net/20160425200300853 “mvn help:system”)]
我们就会发现Maven已经在我们刚才配置的目录下(D:/JavaLibrary/repository)下载了许多插件需要的jar包。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i5DBwCpy-1592055273621)(https://img-blog.csdn.net/20160425200432401 “Maven下载的jar”)]
Maven已经成功配置好了。
第四步 在Eclipse中配置Maven
Windows --> Preferences --> Maven --> Installations
不要用默认的Maven
点击Add
选择Maven的安装路径
将系统的Maven该为我们自己下载的
将Global Settings和User Settings选到自己刚才复制的那个D:\JavaLibrary\settings.xml
仓库的位置会跟着改变的。
然后应用点击Ok就可以了。
第五步 测试一下
在eclipse中新建一个maven工程
File --> New
选一个quickstart
填写坐标信息和包名
finish
等进度条走完,如果是第一次的话时间可能会长一些
以下是Maven生成的项目骨架,我将junit版本改成了4.12,Mavne会自动从中央仓库将对应的jar包下载到本地。
修改程序
将App.java 进行如下修改
public class App {
public String sayHello() {
return "hello";
}
}
将TestApp.java 进行如下修改
public class AppTest {
@Test
public void testSayHello() {
assertEquals("hello", new App().sayHello());
}
}
右键工程 --> Run As --> Maven test
如果报如下的错误
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building maven-test 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ maven-test ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\gwcheng\workspace\maven-test\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ maven-test ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to C:\Users\gwcheng\workspace\maven-test\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.788 s
[INFO] Finished at: 2016-04-25T20:30:27+08:00
[INFO] Final Memory: 7M/93M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project maven-test: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
请修改
先把它删了,然后添加jdk进来
改为自己的jdk安装路径
重新右键工程 --> Run As --> Maven test
看到它已经成功运行了我们的测试用例
参考文献
许晓斌. Maven实战[M]. 机械工业出版社, 2011.