JAVA - Missing tools.jar in local repository breaks m2eclipse

The container 'Maven Dependencies' references non existing library '/home/[...]/.m2/repository/com/sun/tools/1.5.0/tools-1.5.0.jar'

参考网上的搜索结果:
http://efreedom.com/Question/1-5273792/Missing-Toolsjar-Local-Repository-Breaks-M2eclipse

http://stackoverflow.com/questions/5273792/missing-tools-jar-in-local-repository-breaks-m2eclipse

 

可知是struts引用的依赖,

 

<dependency>
    <groupId>com.sun</groupId>
    <artifactId>tools</artifactId>
    <version>1.5.0</version>
    <scope>system</scope>
    <systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>

用 命令 mvn dependency:tree 也能看出

 

但他们的方法不是很好,

我的方法是 既然在

<systemPath>

${java.home}/../lib/tools.jar

</systemPath>



中用到环境变量${java.home} 那我们就在自己的pom文件中加上这个变量

 

  <properties>
      <currentVersion>${project.version}</currentVersion>
      <struts2.springPlatformVersion>3.0.5.RELEASE</struts2.springPlatformVersion>
      <ognl.version>3.0.5</ognl.version>
      <asm.version>3.3</asm.version>
      <tiles.version>2.0.6</tiles.version>
      <java.home>C:\glassfish3\jdk</java.home>
  </properties> 

 还是不行就不要了 反正用不着

    <dependency>
     <groupId>org.apache.struts</groupId>
     <artifactId>struts2-core</artifactId>
     <version>${struts2.version}</version>
     <exclusions>
       <exclusion>
          <groupId>com.sun</groupId>
          <artifactId>tools</artifactId>
       </exclusion>
     </exclusions>
     </dependency>

问题解决了

你可能感兴趣的:(eclipse,maven,tools.jar)