解決方案一
通過maven取運行時參數,eclipse提供的環境變數,基本類似System.getProperty("java.home")
<dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> <version>1.5.0</version> <scope>system</scope> <systemPath>${java.home}/lib/tools.jar</systemPath> </dependency>
如果不起作用的話,是因為${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.6-Xms40m-Xmx512m-XX:PermSize=64M-XX:MaxPermSize=512M
注意: 要寫在兩行,寫在一行不能生效
注意: 這兩行要定在-vmargs之前,不然也不能生效
解決方案二:
<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> <activeByDefault>true</activeByDefault> <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>
通過profile來設定,方便決定是否啟用 解決方案三:
<dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> <version>1.6.0</version> <scope>system</scope> <systemPath>${env.JAVA_HOME}/lib/tools.jar</systemPath> <optional>true</optional> </dependency>
直接使用Maven擷取系統的環境變數