首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

徹底移除 MS JVM (Microsoft Java Virtual Machine) 的標準步驟與註冊表清理

     編輯:Java 相關知識

為何必須移除 MS JVM?

Microsoft Java Virtual Machine (MS JVM) 是 Windows XP/2000 時代內建的 Java 1.1.x 實現,**極度過時、不支援 Java 2 (Swing/JDBC 2.0/Collections)、安全漏洞未修補、與 Sun/Oracle JDK 嚴重衝突**。共存會導致:

  • 瀏覽器 Applet 載入失敗 (調用舊 JVM)。
  • `java -version` 顯示錯誤版本。
  • 類載入衝突 (`ClassFormatError`, `NoClassDefFoundError`)。
  • IE「工具 → Internet 選項 → 進階」殘留「Microsoft VM」選項干擾。

標準移除步驟 (Windows XP / Server 2003 經典環境)

  1. 啟動卸載程序:
    • 「開始 → 執行」輸入:`RunDll32 advpack.dll,LaunchINFSection java.inf,UnInstall`
    • 或控制台 → 新增/移除程式 → 找「Microsoft JVM」/「Microsoft Virtual Machine」→ 移除。
  2. 確認並重啟: 彈出確認對話框點「是」/「確定」,系統提示重啟時選「是」。
  3. 重啟後手動清理殘留檔案 (需顯示隱藏/系統檔案):
    • 刪除資料夾:`%SystemRoot%\Java` (通常 `C:\Windows\Java`)。
    • 刪除檔案:`%SystemRoot%\inf\java.pnf`。
    • 刪除檔案:`%SystemRoot%\system32\jview.exe`、`wjview.exe`。
  4. 清理註冊表 (.reg 檔導入或手動刪除):
    Windows Registry Editor Version 5.00
    
    [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\JavaVM]
    [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_VM]
    [-HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/java]
    [-HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/x-java-applet]
    [-HKEY_CLASSES_ROOT\.class\OpenWithList\jview.exe]

    ⚠️ **操作註冊表前必備份** (導出上述鍵值或建立系統還原點)。

  5. 驗證移除結果:
    • CMD 執行 `jview` → 應提示「不是內部或外部命令」。
    • IE 進階選項中無「Microsoft VM」相關項目。
    • 安裝 Oracle/OpenJDK 後 `java -version` 正確顯示新版本。

現代環境 (Windows 7/10/11) 遺留處理

MS JVM **不再隨 Windows 分發**。若系統殘留 (極舊遷移用戶),同樣適用上述清理。現代 Java 部署建議:

  • 使用 **Eclipse Temurin / Microsoft Build of OpenJDK** (官方支援 Windows x64/ARM64)。
  • 透過 **winget** 安裝:`winget install EclipseAdoptium.Temurin.21.JDK`。
  • 環境變數統一管理:`JAVA_HOME` 指向 JDK 根目錄,`PATH` 追加 `%JAVA_HOME%\bin`。
  • 瀏覽器 Applet 技術已淘汰 (Chrome/Firefox/Edge 移除 NPAPI),**無需關注瀏覽器 JVM 整合**。

總結

MS JVM 是歷史產物,**徹底移除是現代 Java 開發環境建立的前提**。按照「卸載程序 → 重啟 → 檔案清理 → 註冊表清理 → 驗證」標準流程操作,配合現代 OpenJDK 發行版部署,即可構建乾淨、標準、安全的 Java 運行環境。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved