我在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種就夠用了。

