2010-03-09 44 views
3

我正嘗試在Windows中使用控制檯上傳我的GAE應用程序。我得到的錯誤:更改Java查找javac.exe的地方

cannot find javac executable based on java.home tried, "C:\Program Files\Java\jre6\bin\javac.exe" and "C:\Program Files\Java\bi n\javac.exe"

Unable to upload app: cannot find javac executable based on java.home, tried "C: \Program Files\Java\jre6\bin\javac.exe" and "C:\Program Files\Java\bin\javac.exe

的javac.exe位於C:\ Program Files文件\的Java \ jdk1.6.0_18 \ bin中我怎麼告訴Java的多數民衆贊成在它

+0

,保存您的JAVA_HOME變量包圍引用java_home =「c:\ program files \ java \ jdk.1.6.0_18」 – KevinDTimm 2010-03-09 19:07:31

+0

也許您正在使用腳本將JAVA_HOME設置爲某個配置錯誤的位置,然後再啓動... – 2010-03-09 19:54:29

回答

2

您是否安裝了兩個java版本?
從信息太陽jre和Open jdk? jre沒有javac.exe,因此無法找到它。
嘗試使用C:\ Program Files \ Java \ jdk1.6.0_18 \ bin \ java.exe而不是僅使用java來啓動jar,如果這無助於添加-Djava.home =「C:\ Program Files \ Java \ jdk1.6.0_18「選項來調用。

2

錯誤信息,使很明顯,查找是基於java.home,你有沒有試過調整?

此輸出看起來好像是來自某種腳本,可能有它自己定義的java.home,您需要更改它。

+0

java.home#java/lang/System%getProperty &(Ljava /郎/字符串;)Ljava /郎/字符串; <---這是在我從中運行腳本的jar文件。改變這條線是否安全,還是應該在其他地方改變它? – Lumpy 2010-03-09 18:58:21

0

將您的JAVA_HOME環境變量設置爲C:\Program Files\Java\jdk1.6.0_18。請注意,此變量指向JDK位置,而不是(與PATH環境變量不同)指向可執行文件所在的路徑。

5

您必須將JAVA_HOME環境變量設置爲引用安裝java的頂級文件夾。右鍵單擊「我的電腦」,屬性,高級,環境變量。如果有一個現有的JAVA_HOME變量,然後糾正它,這樣它的值是

C:\Program Files\Java\jdk1.6.0_18 

如果沒有存在的變量,然後使用「新建」按鈕創建一個。是否爲當前用戶或系統完成是由您決定的。

+0

+1提供了有關如何設置變量的指導 – Dancrumb 2010-03-09 18:36:40

+0

我在C:\ Program Files \ Java \ jdk1.6.0_18中添加了java.home和JAVA_HOME,並且仍然收到相同的錯誤。這個值可以保存在其他地方 – Lumpy 2010-03-09 18:47:53

+0

看到我的答案在下面,它是可能的無論你正在運行的腳本有它自己的解釋「java.home」,並沒有使用環境變量 – 2010-03-09 18:49:13

1

您可以使用設置CLASSPATH做設置CLASSPATH變量的另一種方法= C:\ Program Files文件\的Java \ JRE6 \ BIN \的javac.exe在命令提示符\ jdk1.6.0_18,但它適用於單個會話。每次你需要設置變量。

+0

所以我應該設置java.home = classpath?或者設置java.home = C:\ Program Files \ Java \ jre6 \ bin \ javac.exe \ jdk1.6.0_18。既沒有工作。 – Lumpy 2010-03-09 20:07:52

2

我發現這個問題的最簡單的解決方案是在腳本文件中使用JAVA_HOME變量。

這是我的箱子的內容\ appcfg.cmd:

@"%JAVA_HOME%"\bin\java -cp "%~dp0\..\lib\appengine-tools-api.jar" com.google.appengine.tools.admin.AppCfg %* 

注意:您也應該檢查是否JAVA_HOME指向現有的JDK在發佈建議