起因:
最近学习maven,按照教程把命令行创建的maven工程导入到eclipse/myeclipse,由于库中没有一些依赖包,所以在导入工程的时候开发工具自动下载依赖包。可是,由于天朝特殊环境的问题,包下不完整,导致导入工程出现莫名其妙的问题,尝试上网搜索解决方法,未解。之后通过设置eclipse/myeclipse的代理上网,以为可以解决问题,谁知道不给力。下面是各种奇葩的问题描述,均可利用下面的方法解决,归根到底就是依赖包没有下载成功:
使用的环境是: maven 3.1.1、eclipse kepler、myeclipse 2014
第一组问题:
- No marketplace entries found to handle maven-compiler-plugin:2.3.2:compile in Eclipse. Please see Help for more information.
- No marketplace entries found to handle maven-compiler-plugin:2.3.2:testCompile in Eclipse. Please see Help for more information.
第二组问题:
- An internal error occurred during: "Updating Maven Dependencies".
- Lorg/codehaus/plexus/archiver/jar/JarArchiver;
第三组问题:
- Errors occurred during the build.
- Errors running builder 'Maven Project Builder' on project '(Hid Project Name)'.
- org/apache/maven/project/MavenProject
- Errors running builder 'Maven Project Builder' on project '(Hid Project Name)'.
- org/apache/maven/project/MavenProject
解决办法:
既然知道了是天朝网关的霸道导致了该问题的出现,那么我们就需要设置代理了,上面问题是因为没有连接上maven的*库造成的,只和setting文件有关。
maven默认情况下会到 C:\Users\hugo\.m2 下查找settings.xml文件(如果没有该文件,需要到maven安装目录的conf目录下拷贝到哪个目录下),读取里面的配置,其中配置里有个节点:<proxies></proxies>
该节点是代理节点,也就是可以通过设置代理访问maven 的*仓库下载依赖包。
于是,我们在该节点下添加配置(我这里使用的是*代理FQ工具,请首先安装该工具):
- <proxy>
- <id>optional</id>
- <active>true</active>
- <protocol>http</protocol>
- <username></username>
- <password></password>
- <host>127.0.0.1</host>
- <port>8087</port>
- <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
- </proxy>
添加了该配置项后,打开*代理
关键步骤2:
打开集成环境的maven插件配置,在installations中选择maven的安装目录,在user settings中选择刚才编辑的settings.xml文件,并点击“update setting”生效设置。
之后,导入maven工程就可以下载依赖包畅通无阻了,速度还挺快的哦