解决方案一:
原来,是${java.home}在作怪,eclipse 没有使用 JAVA_HOME



默认,eclipse 使用 C:"windows"system32"javaw.exe 作为 JVM,当然找不到tools.jar

解决方法如下:

修改 eclipse.exe 目录下的 eclipse.ini 指定vm,,注意 -vm后面不能有空格。
-vmD:\Program Files\Java\jdk1.6.0_23\bin\javaw.exe

-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-XX:PermSize=64M
-XX:MaxPermSize=512M

解决方案二:

 

  • <properties>   
  • <project.build.sourceEncoding>UTF8</project.build.sourceEncoding>   
  •     <java.home>C:\Program Files\Java\jdk1.6.0_25</java.home>     
  •  </properties>   
  • <profiles>     
  •        <profile>     
  •            <id>default-tools.jar</id>     
  •            <activation>     
  •                <property>     
  •                    <name>java.vendor</name>     
  •                    <value>Sun Microsystems Inc.</value>     
  •                </property>     
  •            </activation>     
  •            <dependencies>     
  •                <dependency>     
  •                    <groupId>com.sun</groupId>     
  •                    <artifactId>tools</artifactId>     
  •                    <version>1.5.0</version>     
  •                    <scope>system</scope>     
  •                    <systemPath>${java.home}/lib/tools.jar</systemPath>     
  •                </dependency>     
  •            </dependencies>     
  •        </profile>     
  •    </profiles>     

 

参考:http://linjia880714.iteye.com/blog/1133883

http://www.blogjava.net/hello-yun/archive/2011/11/21/364409.html

总结:本人试用了之后没有解决问题,只能手工的将jdk下面的tools.jar拷贝到需要的目录下面制作成pom和jar来提供给eclipse使用。这属于m2e的bug,暂时没有其他解决方案(将tools.jar用mvn inststall安装到本地仓库)