之前没用过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.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

坑爹的Maven的更多相关文章

  1. eclipse Maven 使用记录 ------ 建立app项目

    maven 项目构建工具 , 如今已逐渐取代ant的笨拙配置方式 ,使项目管理更加简单,规范,结构更加清晰,这里记录跟eclipse集成的一些步骤  1.从apache maven项目下下载maven ...

  2. mybatis - maven - eclipse 坑爹问题: No suitable driver found for http://maven.apache.org

    坑爹的问题,调查了1天 一直以为是驱动问题,根源却在url上:No suitable driver found for http://maven.apache.org 根源: 1.在jdbc.prop ...

  3. 【maven】maven各种奇葩问题

    问题1:Could not calculate build plan: Plugin org.apache... 不能成功创建maven项目 解决方法1: http://repo1.maven.org ...

  4. ssh框架整合---- spring 4.0 + struts 2.3.16 + maven ss整合超简单实例

    一 . 需求 学了这么久的ssh,一直都是别人整合好的框架去写代码,自己实际动手时才发现框架配置真是很坑爹,一不小心就踏错,真是纸上得来终觉浅! 本文将记录整合struts + spring的过程 , ...

  5. Idea maven tomcat 配置热更新 以及 maven jar依赖

    看了视频 实在忍不住上了idea的贼船 不过这玩意确实有点坑爹,因为用的人少,所以很多配置是有问题的 例如maven配置tomcat热更新 以及tomcat的maven配置 我这里放几张图作为备用 配 ...

  6. 开发环境配置(netbeans+ant迁移到eclipse+maven)

    新公司入职,接手一个离职人员的项目,拿到的源码是以一个压缩包,用netbeans开发,ant管理:前端:jsp+extjs,后端:springmvc+hibernate+activiti+spring ...

  7. 构建一个maven聚合类型的横向可扩展项目

    那个时候初入java这个大家庭,学习的方向很乱.毕业后,在公司磨练了一年,总想着是该交一份答卷了,可能成绩不会很好,但求及格!那么考试题目呢,我计划搭建一个横向可扩展的项目,可以在平台自扩展各种子项目 ...

  8. gradle上传本地文件到远程maven库(nexus服务器)

    自定义aar-upload.gradle文件 artifacts { archives file('./build/outputs/aar/Lib_ads-baidu-debug.aar') } up ...

  9. SVN导入maven项目

    在项目中,曾今遇到过这种问题,用eclipse将项目从svn下载下来,maven去自动下载jar包怎么都报错,本来时间就很紧张, 还特么遇到这种坑爹的问题.不过,整了我一天,最后终于在同事的帮助下,搞 ...

随机推荐

  1. mac 终端 常用命令

    基本命令1.列出文件ls 参数 目录名        例: 看看驱动目录下有什么:ls /System/Library/Extensions参数 -w 显示中文,-l 详细信息, -a 包括隐藏文件2 ...

  2. [WPF] 我的WPF自学日记2,自定义入口

    在winform中入口文件就是Program.cs,而在WPF中看不到,因为它是自动生成的,可以说隐藏了,我们可以自定义一个入口文件,然后修改项目属性中的启动对象为我们自定义的入口文件. 首先新建入口 ...

  3. mysql不能插入中文

    mysql不能插入中文 解决办法: 1.打开终端,连接数据库  mysql -u root -p; 2.输入 satus; 查看状态 3.输入 set char set 'gbk'; 4.如果是已有的 ...

  4. iPhone Safari下iframe不显示滚动条无法滚动的解决方法

    在iframe外层包一层div,添加如下样式:style="-webkit-overflow-scrolling:touch;overflow:auto;" @media only ...

  5. BSBuDeJie_05

    1 点包装成对象 [NSValue valueWithCGPoint] 2 获取当前时刻 CACurrentMediaTime

  6. 谢欣伦 - OpenDev原创教程 - 服务端套接字类CxServerSocket

    这是一个精练的服务端套接字类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxServerSocket的使用如下(以某个叫做CSo ...

  7. dot

    今天写程序的时候发现一个问题啊 在主函数里面吧某个指针node* r=NULL 赋值为空 然后调用函数insert(node* r,....) 在insert里面呢,我给这个指针赋值了啊 但是主函数里 ...

  8. ASP.NET Core 数据保护(Data Protection 集群场景)【下】

    前言 接[中篇],在有一些场景下,我们需要对 ASP.NET Core 的加密方法进行扩展,来适应我们的需求,这个时候就需要使用到了一些 Core 提供的高级的功能. 本文还列举了在集群场景下,有时候 ...

  9. 你必须知道的指针基础-1.预备篇:搭建GCC开发环境

    一.关于GCC编译器 GCC(GNU Compiler Collection)是一套功能强大.性能优越的编程语言编译器,它是GNU计划的代表作品之一.GCC是Linux平台下最常用的编译器,GCC原名 ...

  10. 给Mac OS X的“逻辑宗卷组”改名

    近日更新了Mac OS X的10.10版本——Yosemite,感觉良好,但当我在打开磁盘工具的时候发现了一个美中不足的地方,磁盘宗卷组的名字居然还是我之前的“Mavericks”,如图: 如何对它进 ...