你的位置:首页 > Java教程

[Java教程]坑爹的Maven


之前没用过Maven,最近在研究Curator的时候,导入别人的工程,但是没有相应的包,需使用Maven解决依赖。于是各种折腾,最后虽然解决了,但中间的坑还不少。尽管网上也有相应的安装教程,但很多都是语焉不详,模棱两可,最后还是决定自己整理一下。

一,下载Maven并配置相关的环境变量

下载地址如下:

http://maven.apache.org/download.cgi#

解压,设置环境变量。主要设置两个:MAVEN_HOME和PATH。以我本机的设置为例。

MAVEN_HOME:E:\apache-maven-3.3.9

PATH:在PATH路径后面添加;%MAVEN_HOME%\bin。

在DOS窗口执行mvn -v,看是否有输出。正常输出如下:

注意:倘若没有输出,可能需要重启电脑,让环境变量生效。

 

二、设置Maven的配置文件settings.

该文件在conf目录下。

有两处需要修改:

1. Maven的默认文件保存路径

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

Maven默认文件保存路径为${user.home}/.m2/repository,${user.home}指的是当前用户的家目录

在这里,我修改为本机的E:\Maven目录。

 <!-- 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</localRepository>

2. 修改Maven的镜像源

在这里,推荐使用开源中国的镜像源

mirrors部分修改如下:

  <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>nexus-osc</id>      <mirrorOf>*</mirrorOf>      <name>Nexus osc</name>      <url>http://maven.oschina.net/content/groups/public/</url>    </mirror>  </mirrors>

关于其它方面的设置,可参考“开源中国Maven 库使用帮助”

http://maven.oschina.net/help.html

它里面有现成的settings.

 

三、安装Eclipse Maven插件

网上普遍流行着两种安装方式,一种是在线安装,一种是离线安装。

离线安装可参考:http://blog.csdn.net/guanning0109/article/details/26069277

eclipse-maven3-plugin.7z的下载地址为:http://download.csdn.net/detail/bluerebel/7407455

我首选尝试的是离线安装,可惜的是,重启Eclipse后,“Preferences”里面并没有出现Maven的插件。

最后实属无奈,采用了在线安装,才发现,在线安装还是蛮简单的,没有上述博客中提到的各种不足。

 

在线安装Maven插件

点击Help下面的Install New Software,地址输入:http://m2eclipse.sonatype.org/sites/m2e/,一路Next,有License选择Accept,然后等待安装,并重启Eclipse。

具体可参考:http://jingyan.baidu.com/article/e6c8503c1d04d3e54f1a1807.html。

上述参考文档中还少了一步,即重启Eclipse后,需设置Maven插件和之前下载的Maven软件进行关联。在Window下的Preferences里面设置。

 

经过上述的安装,Eclipse Maven插件安装完毕~

 

这样就可以在线解决Maven依赖问题了。

 

总结:

回过头来看,整个过程还是蛮简单的,主要坑在两个地方:

一、刚开始的时候,使用的是官方默认的镜像源,各种坑啊,下载了半天,只下载了一个junit,反复执行“Update Dependencies”,都会报如下错误:

   

解决方法:修改Maven的镜像源。

实践证明,更改完Maven的镜像源后,下载就顺畅了。

二、Maven在下载过程中,可能已经下载过,但是下载不成功,或者之前已经创建过目录。这时候,再刷pom.

虽然下载很顺畅了,但是有几个包还是下载不起来。

解决方法:删除对应的目录,重新刷一下pom.xm