在导入一个maven项目的过程中遇到的问题。
首先是:No marketplace entries found to handle maven-compiler-plugin:2.3.2
这个问题是:maven工程导入到eclipse/myeclipse,由于库中没有一些依赖包,所以在导入工程的时候开发工具自动下载依赖包。可是,由于天朝特殊环境的问题,包下不完整,导致导入工程出现莫名其妙的问题,尝试上网搜索解决方法,未解。之后通过设置eclipse/myeclipse的代理上网,以为可以解决问题,谁知道不给力。下面是各种奇葩的问题描述,均可利用下面的方法解决,归根到底就是依赖包没有下载成功:
解决方法:
既然知道了是天朝网关的霸道导致了该问题的出现,那么我们就需要设置代理了,上面问题是因为没有连接上maven的中央库造成的,只和setting文件有关。
maven默认情况下会到 C:\Users\本机用户\.m2 下查找settings.xml文件(.m2文件夹的创建"新建一个名字为.m2.的文件即可解决需要命名问题".如果没有该文件,需要到maven安装目录的conf目录下拷贝到这个目录下),读取里面的配置,其中配置里需要添加以下节点:
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
另一个问题是:Maven报错Missing artifact jdk.tools:jdk.tools:jar:1.8
看整个pom.xml文件也不见其他异常。
而tools.jar包是JDK自带的,于是怀疑pom.xml中以来的包隐式依赖tools.jar包,而tools.jar并未在库中,
好比:当前工程依赖A包,而A包在开发打包过程依赖tools.jar包,现在A发布了,我们的工程依赖A包,所以我们应该在包依赖中加上tools.jar包;
这样分析后,问题就好解决了,直接在pom.xml中加上一个依赖项目:
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.7</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
问题解决
网友评论