11 修復“無法創建 Java 虛擬機”錯誤
時至今日,Java 仍是一種流行的編程語言。它可能已經過時,但隨著時間的推移,它並沒有失去其受歡迎程度和實用性。它仍在積極開發中,並被許多開發人員使用。該語言會定期進行更改和改進,從而使編譯和運行基於 Java 的應用程序變得更加容易。
簡單來說Java是什麼?
Java 是一種廣泛使用的編程語言,可以在各種操作系統和設備上使用。它有許多應用程序,包括 Web 開發、移動應用程序、桌面應用程序和服務器端編程。
Java 創建虛擬機 (VM) 來運行用該語言編寫的代碼。如果Java虛擬機正在處理的數據或代碼出現問題,Java虛擬機可能無法啟動。
什麼是 Java 虛擬機錯誤?
Java 虛擬機錯誤(通常稱為 JVM 錯誤)是 Java 虛擬機生成的一種錯誤。此錯誤通常表明計算機無法讀取或理解代碼。
出現此錯誤的原因有多種,包括計算機未安裝必要的更新或與 Java 不兼容。如果您在使用計算機時遇到 JVM 問題,了解如何解決該問題非常重要。
在過去的幾天裡,我們了解到一些客戶看到錯誤消息“無法創建 Java 虛擬機”。根據我們的研究,該問題通常發生在用戶嘗試運行基於 Java 的程序時。
是什麼原因導致“創建Java虛擬機失敗”錯誤?
有幾個條件會導致這個問題:
- Java 使用不正確的參數或選項執行:當您運行自製程序或嘗試打開已知會導致系統不穩定的開源應用程序時。
- Java 全局最大堆內存不足:此問題的最常見原因之一是嘗試運行最大堆內存大小大於系統變量中指定的值的 Java 應用程序。
- Java 可執行文件和/或程序需要管理員憑據:這種情況可能發生在需要管理員訪問權限才能正常運行的應用程序中。
如果您正在嘗試解決“無法創建 Java 虛擬機”問題,本文將為您提供一些經過驗證的解決方案。以下是其他處於類似情況的人用來解決問題的解決方案列表。
為了獲得最佳結果,請按提供的順序嘗試以下解決方案,直到找到適合您的特定情況的解決方案。
如何修復Java虛擬機錯誤?
以下是修復 Java 虛擬機錯誤的解決方案:
- 將 _JAVA_OPTIONS 添加到系統變量
- 使用管理員權限打開java.exe
- 重新安裝Java
- 用代碼修復錯誤
- 編輯 Eclipse.ini 文件
- 檢查兼容的 Java 版本
- 更新 Path 和 Java Home 環境變量。
- 檢查啟動參數
- 檢查語法
- 檢查內存分配
- 增加 JVM(Java 虛擬機)的 RAM 分配
讓我們分別考慮每個解決方案:
解決方案1:將_JAVA_OPTIONS添加到系統變量中
大多數受影響的客戶都能夠通過將名為 _JAVA OPTIONS 的 Java 系統變量更改為 Xmx512M 來解決該問題。這有效地確定了 Java 全局的最大內存堆大小。
這將消除任何錯誤消息,因為系統變量中定義的最大堆內存大小大於 Java 啟動應用程序中設置的最大堆內存大小。幾位遇到同樣問題的客戶表示,按照以下說明操作後,問題已得到徹底解決。
要增加全局最大堆內存大小,請將 _JAVA OPTIONS 元素添加到系統變量中,如下所示:
1. 要打開“運行”對話框,請按 Windows 鍵 + R。然後,要打開“系統屬性”頁面,請鍵入 sysdm.cpl 並按 Enter。
2. 單擊“高級”選項卡,然後在“系統屬性”頁面上選擇“環境變量”。
3. 單擊“環境變量”字段中的“新建”(在“系統變量”下)。
4. 在“新建系統變量”面板中將變量名稱設置為 _JAVA OPTIONS,將變量設置為 -Xmx512M,然後單擊“確定”保存更改。
5. 要使更改生效,請關閉所有先前打開的窗口並重新啟動計算機。
6. 下次運行時打開之前出現錯誤“無法創建 Java 虛擬機”的程序,看看它是否正常工作。
如果運行程序時仍然收到相同的錯誤消息,請嘗試將 Java 回收站路徑添加到環境變量中,該路徑可能是“%\USER PATH\Java\jdk1.6.0_39\bin”。
解決方案2 – 使用管理員權限打開java.exe
幾個遇到同樣問題的人已經能夠通過強制以管理員身份打開主 Java 可執行文件 (java.exe) 來解決該問題。
將此更新應用於主 Java 可執行文件和顯示錯誤消息的程序可執行文件後,一些用戶報告問題已解決。
這是所有內容的簡短描述:
1. 導航到文件資源管理器中的 Java 安裝位置。我們需要導航到 Java 可執行文件 (java.exe) 的主位置。
默認情況下,它應該位於 Program Files/Java/*JRE build version*/bin 文件夾中。根據您使用的 Java 運行時環境,確切的位置會有所不同。
2. 右鍵單擊 java.exe 文件,從上下文菜單中選擇“屬性”。然後在“兼容性”選項卡下選擇“以管理員身份運行此軟件”並選中該框(在“設置”下)。要保存更改,請單擊“應用”。
3. 右鍵單擊應用程序可執行文件(導致錯誤),重複此過程:應用程序 > 兼容性 > 以管理員身份運行此軟件。
4. 通過運行程序檢查問題通知是否已解決。
管理員權限不足也會導致 Java 虛擬機出現問題。因此,某些用戶可能需要授予 Java 管理員權限。
用戶可以按照上述步驟在 Windows 10 上授予 Java 管理員訪問權限。
解決方案 3:重新安裝 Java
在某些情況下,出現問題的原因是 Java 安裝不正確或其安裝隨著時間的推移而損壞。結果,完全卸載Java後,我們此時要重新安裝它。為了這:
1. 要進入運行提示符,請按 Windows 鍵 + R 並輸入“Appwiz.cpl”或直接進入控制面板。
2. 按 Enter 鍵後將出現“程序和功能”屏幕。
3. 滾動瀏覽“程序和功能”屏幕上已安裝的應用程序列表,直到找到 Java。
4. 要將其從系統中刪除,請右鍵單擊它並選擇刪除。
5. 首先卸載主 Java 安裝,然後卸載所有其他 Java 安裝,包括更新和其他版本。
6. 刪除所有軟件後重新啟動計算機。
7. 重啟後,進入此頁面並下載最新的JRE。
8.檢查是否有問題。
9. 如果問題仍然存在,請前往此處獲取並安裝最新的JDK。
10.如果您已經在使用JDK,請考慮升級到其他版本或刪除其附帶的JRE。
解決方案 4:使用代碼修復錯誤
出現此錯誤的原因有多種,包括代碼中存在某些錯誤。我們將在這裡看看其中的一些。
刪除連字符:一些用戶報告將代碼中的雙連字符“-”替換為單個連字符“-”解決了該問題。考慮以下場景:
更改代碼:
“sony@sony-VPCEH25EN:~$ java –version
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
Unrecognized option: –version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. The program will exit.”
到
“sony@sony-VPCEH25EN:~$ java -version
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
Unrecognized option: –version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. The program will exit.”
-Djava.endorsed.dirs=”C:\Program Files\Apache Software Foundation\Tomcat 8.5\endorsed”
確保“-vm”條目添加到 eclipse.ini 文件中的 vm 參數上方。否則環境變量將選擇 JVM V6。
如果您使用 Ubuntu,您應該知道僅支持 Java 8。因此,將使用第三種方法。卸載當前版本的 Java 後安裝舊版本的 Java。
解決方案 5:編輯 Eclipse.ini 文件
為了解決這個問題,我們可以對Eclipes.ini文件進行更改。我們已將其分解為不同的問題,因為設置它時可能存在幾個需要解決的問題。選擇最適合您情況的一種。
減少內存使用
1. 使用記事本打開 Eclipse 文件夾中的 Eclipse.ini 文件。
2. 查找類似“-Xmx256m”的行(可能是-Xmx1024m 或-Xmx 512m)。
3. 現在,根據計算機上安裝的 RAM,將默認數量更改為更合理的數字並添加版本號。考慮以下場景:
-Xmx512m
-Dosgi.requiredJavaVersion=1.6
OR
-Xmx512m
-Dosgi.requiredJavaVersion=1.7
OR
-Xmx512m
-Dosgi.requiredJavaVersion=1.8
4. 從“-launcher.XXMaxPermSize”行中刪除數字“256m”。
5. 檢查問題是否存在。
擺弄
1. 如果可能,從文件中刪除以下行。
-vm P:\Programs\jdk1.6\bin
2. 同時更改以下行。
set -Dosgi.requiredJavaVersion=1.5
到
set -Dosgi.requiredJavaVersion=1.6
3. 另外,在“-vmargs!”行中,嘗試添加以下行。
-vm C:\Program Files (x86)\Java\jre6\bin\javaw.exe
4. 還可以使用以下行來引用 JVM.dll。
-vm
C:\Program Files\Java\jre7\bin\client\jvm.dll
5. 將“-vmargs”替換為 Eclipse 文件中 javaw.exe 的路徑。考慮以下場景:
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813
-product
com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize
256M
-showsplash
com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
**-vm “c:\Program Files\Java\jdk1.7.0_07\bin\javaw.exe”**
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx768m
-Declipse.buildId=v21.1.0-569685
6. 您還可以嘗試在末尾添加以下行,看看是否有幫助。
-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
7. 另請查看從 eclipse.ini 中刪除以下行是否可以解決問題。
-XX:+UseStringDeduplication
-XX:+UseG1GC
如果問題仍然存在,您可以嘗試刪除 eclipse.ini 文件,這似乎已經解決了某些人的問題,但預先創建了一個備份以備不時之需。另外,在啟動 Java 之前,請確保關閉所有耗電的應用程序,以確保有足夠的資源可用。
檢查 JDK 是否損壞
1. 要啟動運行提示符,請按 Windows + R 並鍵入 cmd。
2. 檢查以下命令是否返回錯誤。
c:>\ java -version
3. 如果出現問題,請徹底重新安裝JDK。
解決方案 6 – 檢查兼容的 Java 版本
在IDE中編譯代碼時,會顯示“無法構建Java虛擬機”消息。這是因為 IDE 與您計算機上安裝的 Java 版本不兼容。
檢查您的 IDE 支持哪些版本的 Java。然後確定安裝了哪個 Java 並將其與支持的版本進行比較。如果尚未安裝,請安裝正確的版本。
解決方案 7 – 更新路徑和 Java 主環境變量
在 Windows 10 上,環境變量中設置的 Java 選項可能會導致錯誤“無法創建 Java 虛擬機”。
1. 打開文件資源管理器。
2. 將以下內容複製並粘貼到地址欄資源管理器 shell:::{BB06C0E4-D293-4f75-8A90-CB05B6477EEE}
3. 在左側窗格中,選擇高級系統設置。
4. 從下拉菜單中選擇“高級”選項。
5. 在“系統變量”部分中,選擇“環境變量”,然後選擇“新建”。
6. 在名稱字段中輸入_JAVA OPTIONS。
7. 在路徑/值字段中輸入 -Xmx1024M。
8. 單擊“確定”。
9. 重新啟動應用程序。
您還應該仔細檢查是否為 Java SDK 提供了正確的路徑。
1. 導航至文件資源管理器\Java 中的C:\Program Files。
2. 打開您要使用的 JDK 版本的文件夾。
3. 必須複製文件夾的路徑。
4. 環境中的變量(參見前面的步驟)。
5. 從系統變量菜單中選擇 JAVA HOME。
6. 選擇更改。
7. 輸入複製的路徑後單擊“確定”。
解決方案 8 – 檢查啟動參數
檢查您的初始設置。雖然您可能安裝了正確版本的 Java,但啟動選項可能會更改用於編譯的版本。如果您執行了就地 Java 升級,則啟動選項可能仍來自早期版本。
解決方案 9 – 檢查語法
確保您輸入的任何選項的語法正確。即使是最小的錯誤也可能導致“無法創建 Java 虛擬機”問題。查找額外的連字符或錯誤指定的版本。
解決方案 10 – 檢查內存分配
分配使用的內存不足是導致無法創建Java虛擬機問題的主要原因之一。
1. 打開文件資源管理器。
2. 轉到 C:\Program Files\Java 文件夾。
3. 打開包含已安裝版本號的 JDK 文件夾。
4. 找到並運行 jvisualvm.exe 文件。
5. 軟件提供圖形用戶界面進行內存管理。
6. 增加內存量並重試。
解決方案 11 – 增加 JVM(Java 虛擬機)的 RAM 分配
您必須具有管理員權限才能進行這些更改。
1. 同時按 Windows 鍵和暫停中斷按鈕。
2. 在出現的新窗口中,選擇高級系統設置。
3. 單擊出現的“系統屬性”窗口底部的“環境變量”按鈕。
4. 將出現環境變量窗口。單擊“系統變量”部分中的“新建”按鈕。
5. 將出現新系統變量的窗口。用適當的值填充空白。
- _JAVA OPTIONS 是變量名。
- -Xmx512M 是一個變量值。
6. 單擊“確定”。
6. 單擊“環境變量”部分中的“確定”按鈕。
結論
設置開發環境可能需要很長時間。在編寫或編譯代碼之前,您需要設置很多東西並滿足很多先決條件。這些問題並不是 Java 特有的;每種語言都有其自己的一組先決條件,必須滿足這些先決條件才能使用。
發佈留言