我剛剛發現,如果我使用的是64位JDK,Apache Tomcat無法作爲Windows服務運行。因此我在Windows上另外安裝了Java 32位。在Java 32位和Java 64位之間切換
問題是,當我使用java -version檢查java版本時,它仍然顯示64位仍在運行。你如何從64位切換到32位?如果能夠在以後切換回64位,那也不錯。
我剛剛發現,如果我使用的是64位JDK,Apache Tomcat無法作爲Windows服務運行。因此我在Windows上另外安裝了Java 32位。在Java 32位和Java 64位之間切換
問題是,當我使用java -version檢查java版本時,它仍然顯示64位仍在運行。你如何從64位切換到32位?如果能夠在以後切換回64位,那也不錯。
問題是當我使用java -version檢查java版本時,它仍然顯示64位仍在運行。
這不完全正確。沒有Java的副本仍在運行。 (或者,如果有,你不是說要它當您運行java -version
)
這是什麼實際上所示的是命令shell運行64位Java時,你給它的命令名稱java
。原因是shell的%PATH%變量告訴shell查看包含64位版本的目錄,而不是32位版本;即你沒有改變它!
您需要做的是將shell的%PATH%和%JAVA_HOME%環境變量更改爲指向正確的位置。 %JAVA_HOME%應該指向安裝目錄,並且%PATH%變量應該包含%JAVA_HOME%\ bin。
您必須將JAVA_HOME
環境變量設置爲您要使用的JDK版本的路徑。
對於2000/XP,請參閱:http://confluence.atlassian.com/display/DOC/Setting+the+JAVA_HOME+Variable+in+Windows
對於Windows 7看:http://www.itechtalk.com/thread3595.html(這不是設置JAVA_HOME
變量的教程,而是一個通用的環境變量:請根據需要進行修改)
如果要更改在命令行上運行java -version
時看到的Java版本,則必須更改PATH
環境變量,以便它包含要使用的JDK的bin
目錄的路徑。請參閱:http://www.java.com/en/download/help/path.xml
請記住關閉命令shell並在更改PATH
變量後重新打開它。
我發現,在Windows 7上,我不得不爲了編輯在多個地方的註冊表項JAVA_HOME
路徑完全切換到另一個Java安裝不同的路徑。在環境變量中更改JAVA_HOME
是不夠的。您可以自己做一個快速測試:
%JAVA_HOME%
環境變量值以反映您的JAVA_HOME
的 新名稱。java -version
。,你會得到一個錯誤消息說
Error: could not open `C:\your_java_home_path\jre7\lib\amd64\jvm.cfg'
因此,它是不一樣的行爲在Linux上,其中簡單地改變$JAVA_HOME
足以指針更改到Java的一個新的安裝目錄。
看起來像Windows在其註冊表中的多個位置硬編碼Java主路徑。
Start --> Run --> regedit
在HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/...
展開每個目錄並編輯,你覺得硬編碼到新JAVA_HOME
路徑在每次出現註冊表每一個Java主路徑。
-1。這是因爲您的路徑包含對舊Java安裝的另一個引用。如果你修好了路線,這不會是一個問題。 – iheanyi
*%PATH%變量應該包含%JAVA_HOME%\ bin。*這不會幫助Windows,但它對於Linux來說是正確的。在Windows上,java從%WINDIR%開始,所以修改PATH將沒有任何效果。應該指示tomcat腳本從指定位置啓動java。 – bestsss