zoukankan      html  css  js  c++  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%in。

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

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

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

    该文件在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.xml,只需修改Maven默认文件保存路径即可。

    三、安装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.xml文件依旧会报错的,如下所示:

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

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

  • 相关阅读:
    关于html元素Css样式设置的一点心得(特别是与位置有关的,还有外边距、内边距有关的那些)
    【idea的一个安装细节】是不是使用idea不能连接网络了?
    html中a标签属性parent和self的举例说明
    关于jquery的each的操作;
    superagent中文文档
    mongoose 查询子文档的方法
    Object.prototype.toString.call()进行类型判断
    局部函数的直接引用与调用
    数据模型中某个字段是单选或者多选的定义方式;
    nodejs项目中的路由写法
  • 原文地址:https://www.cnblogs.com/ivictor/p/5036665.html
Copyright © 2011-2022 走看看