原来,是${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安装到本地仓库)