我在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 ools.jar</systemPath>
- </dependency>
<version>是你本地jdk版本,必须指定。
如果还报错,就是你的<systemPath>jar包的路径不对,不放心就写绝对地址,比如我的是:C:Program Filesjavajdk1.7.0_80lib ools.jar。
吐嘈下网上关于这个地址的写法有<systemPath>${JAVA_HOME}/../lib/tools.jar</systemPath>,还有<systemPath>${java.home}/../lib/tools.jar</systemPath>拿到我这来都不好使,我个就是我踩的坑,直接写绝对地址就好了。
解决方案二:
将tools.jar拷贝到你的的本地仓库并改名。路径为.m2 epositorycomsun ools1.5.0 ools-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种就够用了。