所解釋的問題似乎很常見,並且已經提出了不同的解決方案,其中許多解決方案都有效。 One example of this discussion can be found here。Eclipse JRE 7與JRE 7在啓動時會導致問題
我的問題是更多關於爲什麼而不是如何。
我們一直在摔跤這個問題,我們自己也發現,如果我們使用javaw.exe啓動eclipse,則會發生問題,但如果我們使用jvm.dll調用Eclipse,則問題不會出現。即使在這兩種情況下,eclipse.ini
保持不變。
爲了解釋我的情況,我將使用從命令行啓動eclipse.exe
以及一個-vm
參數的示例。對於低於基準爲eclipse.ini
,我們使用:
-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
--launcher.XXMaxPermSize
256m
-vmargs
-Xms128m
-Xmx1280m
-XX:MaxPermSize=512m
-Dderby.stream.error.field=java.lang.System.err
你可以看到,請求分配內存是相當多的兩個堆(1280米)和PermGen的(512米)。如果您無法重現該問題,則可以嘗試增加內存,直到發生錯誤。
還有,你可以使用三種不同的命令行:
eclipse.exe -vm ..\jre\bin\javaw.exe
eclipse.exe -vm ..\jre\bin
eclipse.exe -vm ..\jre\bin\client\jvm.dll
只有第一一個導致錯誤(javaw.exe的)。剩下的兩個選項成功啓動eclipse。在eclipse.ini中減少內存需求也明顯地解決了這個問題。
所以我的問題是,爲什麼javaw.exe失敗時,其他兩個命令行工作?選擇這些不同的路徑有什麼區別?一個人是否比其他人強制執行參數?
環境:Eclipse的:3.8-win32的,JRE:7u7-Win32中,Windows 7的64位
你有更多然後1個Java版本嗎? – SomeJavaGuy
你真的需要給它那麼多的RAM嗎?我在一些相當不錯的項目上工作,我從來沒有碰到Eclipse的JVM RAM(我也在JRE7上運行Juno)...... –
@KevinEsche是的,但我認爲它不應該是一個因爲我自己提供了虛擬路徑。 –