java.exe 和 javaw.exe 的多個實例

java.exe 和 javaw.exe 的多個實例

我在四核心機器上運行 64 位元 Windows 7。當我java -version在命令視窗中運行時,我得到

java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)

我遇到了一個問題,當我嘗試運行 jar 檔案時,它們無法打開。我搜索了我的驅動器java.exe,發現了它的許多副本。大多數位於程式資料夾的子資料夾中。我找到了一個java.exe只有20K的。其他大多數都在 2000K 範圍內,但大小和日期各不相同。

擺脫這些是否安全?程式如何決定要執行java.exe(或) 的哪個副本?javaw.exe我可以安全地清理掉這些嗎?

答案1

全部保留。

如果程式資料夾的子資料夾中有java.exe,則可以安全地假設資料夾所在的程式java.exe使用該版本。

一台電腦並不限於在整個系統中只有一個具有給定名稱的可執行檔。這與擁有兩個同名的 Word 文件沒有什麼不同:它們必須位於不同的資料夾中,但不會衝突。當程式嘗試開啟它時,它知道要尋找哪個資料夾bin/java.exe。其他時候,它會在作業系統提供的資料夾清單中查找,可能會在其中找到可執行檔。任何一種都可以;如果某個程式與 捆綁在一起java.exe,則很可能是前者。

一般來說,如果一個程式捆綁了類似的東西java.exe,你可能應該假設它使用它是有原因的那個具體的 java.exe。不要只是從程式目錄中刪除檔案。它的結局可能會非常糟糕。

答案2

是的,保留你想要/需要的數量。您可以在一個機器上安裝多個不同版本的 Java,此外,工具/應用程式可能附帶自己的版本。

查看各個版本的儲存位置(哪個目錄)以確定它們存在的原因。有些可能會安裝在 Java 目錄中,例如C:\"Program Files"\Java\jdk1.7.0_07\bin\,其他可能安裝在特定應用程式的目錄中。

java當您從命令列發出命令時,要找出哪個是「活動的」 ,請echo %path%輸入命令提示字元並記下列出的 Java 目錄。

(請注意,如果您刪除 java.exe 的某個版本,則幾乎可以肯定附近有一組(更大的)JAR 文件,如果您的目的是節省磁碟空間,也應該將其刪除。)

相關內容