
我在四核心機器上運行 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 文件,如果您的目的是節省磁碟空間,也應該將其刪除。)