首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Install4j中,如何修复‘JVM无法启动’的错误?

在Install4j中,如何修复‘JVM无法启动’的错误?
EN

Stack Overflow用户
提问于 2014-09-05 15:39:17
回答 2查看 3.3K关注 0票数 1

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

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

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

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

我发现,如果没有添加我试图通过编程添加的log4j附录,就会产生这个错误,从而阻止崩溃的发生。

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

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-16 14:24:12

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

  1. 在程序文件夹下搜索.vmoptions。
  2. 用文本编辑器打开它。
  3. 减小-Xmx大小(对ex: 512米、256米、128米、64m),直到找到合适的尺寸为止。对于每个大小,试着启动程序。

Jetbrains的解决方案

票数 1
EN

Stack Overflow用户

发布于 2014-09-06 13:16:13

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

一个可能导致这种情况的异常是OutOfMemoryError,特别是与PermGen空间相关的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25689474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档