【问题标题】:In Install4j, how do I fix 'The JVM could not be started' error?在 Install4j 中,如何修复“无法启动 JVM”错误?
【发布时间】:2014-09-05 15:39:17
【问题描述】:

最近在我的 install4j 安装程序中添加了一些库后,一些用户现在在安装过程结束时收到一条错误消息。

“无法启动 JVM。最大堆大小 (-Xmx) 可能太大,或者防病毒或防火墙工具可能会阻止执行。

日志:C:\Users....\AppData\Local\Temp\i4j_nlog_203"

这只发生在某些用户身上,重新启动他们的计算机,禁用他们的防火墙/防病毒软件并没有帮助。

我发现如果没有添加我试图以编程方式添加的 log4j 附加程序,则会出现此错误,从而阻止崩溃的发生。

这是导致错误的日志文件的最终内容。

Unpacking JRE done
JRE dir: C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\jre
LoadDLL (0, C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\jre, 0)
Got JRE location C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\jre (java exe: 0)
MinVersion: 1.6, MaxVersion: 
Trying to load JVM-DLL from c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\java.exe
Setting PATH C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\TortoiseGit\bin;c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin
Trying c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\hotspot\jvm.dll (exists 0)
Trying c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\client\jvm.dll (exists 1)
Loading of JVM-DLL successful
unpacking i4jruntime.jar.pack
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\i4jruntime.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\i4jruntime.jar"
waiting for unpack200 to finish
unpack done
unpacking user\apache-mime4j-0.6.jar.pack
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\apache-mime4j-0.6.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\apache-mime4j-0.6.jar"
waiting for unpack200 to finish
unpack done
unpacking user\commons-io-2.0.jar.pack
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\commons-io-2.0.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\commons-io-2.0.jar"
waiting for unpack200 to finish
unpack done
unpacking user\commons-logging-1.1.1.jar.pack
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\commons-logging-1.1.1.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\commons-logging-1.1.1.jar"
waiting for unpack200 to finish
unpack done
unpacking user\derby.jar.pack
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\derby.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\derby.jar"
waiting for unpack200 to finish
unpack done
unpacking user\httpclient-4.0.jar.pack
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpclient-4.0.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpclient-4.0.jar"
waiting for unpack200 to finish
unpack done
unpacking user\httpcore-4.0.1.jar.pack
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpcore-4.0.1.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpcore-4.0.1.jar"
waiting for unpack200 to finish
unpack done
unpacking user\httpmime-4.0.jar.pack
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpmime-4.0.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpmime-4.0.jar"
waiting for unpack200 to finish
unpack done
unpacking user\ICEauthorization.jar.pack
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\ICEauthorization.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\ICEauthorization.jar"
waiting for unpack200 to finish
unpack done
unpacking user\IceCommon.jar.pack
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\IceCommon.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\IceCommon.jar"
waiting for unpack200 to finish
unpack done
unpacking user\installerCommon.jar.pack
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\installerCommon.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\installerCommon.jar"
waiting for unpack200 to finish
unpack done
unpacking user\log4j-1.2.15.jar.pack
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\log4j-1.2.15.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\log4j-1.2.15.jar"
waiting for unpack200 to finish
unpack done
unpacking user.jar.pack
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user.jar"
waiting for unpack200 to finish
unpack done
launching program
GetTempPath returned 37 (last error 6)
make dir returned -1
adding options

vmoptions2: exe \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.exe file: \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.vmoptions, file: 00000000
vmoptions: opts2: \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.exe.vmoptions, file: 00000000
vmoptions2: exe \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.exe file: \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.vmoptions, file: 00000000
vmoptions: opts2: \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.exe.vmoptions, file: 00000000
default vmoptions file: 00000000
classpath entry 
vmoption count 11
vmoption 0: -Dexe4j.semaphoreName=Local\__ice-catalogs.dirtt.local_catalog_installs_bundle_dml-gmk_2014_october_31_one-exe_bundle_dml-gmk-2014_10_31.exe
vmoption 1: -Dexe4j.isInstall4j=true
vmoption 2: -Dexe4j.moduleName=\\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.exe
vmoption 3: -Dsun.java.command=\\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.exe
vmoption 4: -Dexe4j.tempDir=C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714
vmoption 5: -Dexe4j.unextractedPosition=26428397
vmoption 6: -Djava.library.path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\TortoiseGit\bin;c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin
vmoption 7: -Dexe4j.consoleCodepage=cp0
vmoption 8: -Xmx300m
vmoption 9: -Dsun.java2d.noddraw=true
vmoption 10: -Djava.class.path=C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\i4jruntime.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\platform.zip;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\apache-mime4j-0.6.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\commons-io-2.0.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\commons-logging-1.1.1.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\derby.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpclient-4.0.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpcore-4.0.1.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpmime-4.0.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\ICEauthorization.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\IceCommon.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\installerCommon.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\log4j-1.2.15.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\installerData.zip;
Creating JVM
JVM created
main class: com/install4j/runtime/launcher/WinLauncher
GetTempPath returned 37 (last error 0)
make dir returned -1
GetTempPath returned 37 (last error 183)
make dir returned -1
param count: 6
param 0: false
param 1: com.install4j.runtime.installer.Installer
param 2: \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\error.log
param 3: 
param 4: false
param 5: \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.exe
calling main
Java window visible
main returned
ERROR: an exception occured
ERROR: could not call main
ERROR: Could not start JVM

【问题讨论】:

    标签: java jvm log4j install4j


    【解决方案1】:

    这是因为内存块的问题(详见下文参考)。如果程序有新版本,请使用更新的程序,但有时程序没有新版本,您必须本质上使用它。如果有任何程序(不仅仅是 JProfiler)出现该问题,请执行以下步骤:

    1. 在程序文件夹下搜索 .vmoptions。
    2. 用文本编辑器打开它。
    3. 减小 -Xmx 尺寸(尝试降序,例如:512m、256m、128m、64m)直到找到合适的尺寸。对于每种尺寸,请尝试启动程序。

    Solution from Jetbrains

    【讨论】:

      【解决方案2】:

      这是由应用程序的主线程中引发的异常引起的。通常这些异常会被捕获并显示在错误窗口中,但如果在显示窗口时发生另一个异常,您只会得到您观察到的日志文件条目。

      可能导致这种情况的异常是 OutOfMemoryError,尤其是与 PermGen 空间有关。

      【讨论】:

        猜你喜欢
        • 2016-10-16
        • 2014-06-01
        • 1970-01-01
        • 2022-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-17
        • 2021-12-19
        相关资源
        最近更新 更多