Maven解决Missing artifact com.sun:tools:jar:1.5.0错误

关于这个错,其实网上有很多解决方案,这里记录主要是我被踩坑了,坑就在下面。

我在import maven项目时,pom.xml报错Missing artifact com.sun:tools:jar:1.5.0,经过盘查发现是pom引入的struts2相关jar包导致报错。

上网查询说是struts2-core.jar需要依赖Java运行时的tools.jar,解决方案就是将这个jar包手动引入。

解决方案一:

<dependency>  
        <groupId>com.sun</groupId>  
        <artifactId>tools</artifactId>  
        <version>1.7</version>  
        <scope>system</scope>  
        <systemPath>${JAVA_HOME}\lib\tools.jar</systemPath>  
</dependency>

<version>是你本地jdk版本,必须指定。

如果还报错,就是你的<systemPath>jar包的路径不对,不放心就写绝对地址,比如我的是:C:\Program Files\java\jdk1.7.0_80\lib\tools.jar。

吐嘈下网上关于这个地址的写法有<systemPath>${JAVA_HOME}/../lib/tools.jar</systemPath>,还有<systemPath>${java.home}/../lib/tools.jar</systemPath>拿到我这来都不好使,我个就是我踩的坑,直接写绝对地址就好了。

解决方案二:

将tools.jar拷贝到你的的本地仓库并改名。路径为.m2\repository\com\sun\tools\1.5.0\tools-1.5.0.jar。

同时要新建tools-1.5.0.pom文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.sun</groupId>
  <artifactId>tools</artifactId>
  <version>1.5.0</version>
</project>

然后在pom.xml中按如下引入:

<dependency>
	<groupId>com.sun</groupId>
	<artifactId>tools</artifactId>
	<version>1.5.0</version>
</dependency>

这种方式,你必须要新建.pom文件才能引入成功的,这个也是我踩的坑。 

至于还其他网友说的在eclipse.ini中配置vm参数的,我试了不起作用。以上2种就够用了。

猜你喜欢

转载自yuwenlin.iteye.com/blog/2365729