2011-09-27 62 views
1

我有一個好奇的問題。在安裝java jdk 6u25之後,我通過在命令提示符下鍵入java來測試安裝。一切正常,控制檯按預期顯示使用選項。這是大約3個星期前 - 我最近重新安裝Windows 7在我的機器上 - 現在我想開始玩遊戲框架,並遵循教程。我得到了一個新的應用play new,但不能使用play run因爲這個:問題與Windows和Windows上的環境變量

玩! 1.2.3,http://www.playframework.org

按Ctrl + C停止

不能執行Java可執行文件,請確保JAVA_HOME環境變量設置正確。

有趣的是,在控制檯中鍵入java仍然顯示使用選項,既沒有eclipse也沒有netbeans抱怨缺少jdk。儘管如此,我檢查了我的環境變量並驚訝地發現:

根本沒有引用java。

說真的,我不知道控制檯,日食和netbeans如何發現我的Java。作爲第一個對策,我再次重新安裝了java,希望安裝程序能夠正確設置路徑。它沒有。現在我想要你的建議:我應該創建JAVA_HOME變量嗎?如果我這樣做,將進一步版本的jdk覆蓋變量指向新版本,否則我將不得不每次手動更改變量? eclipse和netbeans呢。我猜測他們已經被他們的「自己的」jdk下載了。如果我想在我的機器上更新java,它是否也會更新它們的版本?

更新: 我手動設置環境變量並重新啓動pc。現在一切正常,但我想知道什麼是符號鏈接。你能給我一個評論中的鏈接或簡單地解釋一下嗎?

+0

它可能是一個通用的catch-all錯誤消息? – mcfinnigan

+0

通常有JDK_HOME或JAVA_HOME等環境變量,或者路徑是在某個配置文件(例如eclipse.ini)中定義的。您的cmdline中的 – Thomas

+1

請嘗試'echo%JAVA_HOME%'。如果java home不存在,那麼只需創建一個。 –

回答

3

的Eclipse和NetBeans使用查找Java安裝比命令行工具以不同的方式播放喜歡的,螞蟻,Maven的,gradle這個等

的IDE可以搜索你的註冊表,猜測默認位置,甚至有預包裝的JRE與安裝。

命令行工具通常依賴於JAVA_HOME變量。你必須手動設置。

3

我應該只是創建JAVA_HOME變量?

有幾個工具使用該環境變量,所以我建議創建它。

如果我這樣做,將進一步版本的jdk覆蓋變量指向新版本,否則我將不得不每次手動更改變量?

如果您將新的Java版本安裝到相同的文件夾中(或者如果您創建符號鏈接),則不會。

怎麼樣eclipse和netbeans。我猜測他們已經被他們的「自己的」jdk下載了。如果我想在我的機器上更新java,它是否也會更新它們的版本?

這取決於JDK是否預先捆綁以及配置是如何完成的。我不能說對Netbeans的,但在Eclipse中,您可以添加到您的eclipse.ini

-vm 
C:/Java/jre/bin 

注意,這是一個例子路徑bin文件夾。如果您沒有在其中添加版本或使用符號鏈接(請參閱上文),那麼在安裝新版本時不必更新路徑。

0

您可能在C:\ windows或其他通用目錄中有一個(舊的?)java.exe。 請確保你在命令行上得到的java是你認爲它的那個:

java -version 
+0

不可能。我在3周前重置了整個系統,並且只安裝了java 6u25 – lhk