eclipse方法见 "Eclipse 3.6 jee failed to create the java virtual machine"
Netbeans的方法
我的环境 WinXP+NetBeans7.0。
前些日子一直正常运行的NetBeans 7.0今天突然启动报错了,提示“JVM creation failed”。
# ${HOME} will be replaced by JVM user.home system property
netbeans_default_userdir="${HOME}/.netbeans/7.0beta"
# Options used by NetBeans launcher by default, can be overridden by explicit
# command line switches:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m-J-XX:MaxPermSize=384m-J-Dnetbeans.logger.console=true -J-ea -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true"
# Note that a default -Xmx is selected for you automatically.
# You can find this value in var/log/messages.log file in your userdir.
# The automatically selected value can be overridden by specifying -J-Xmx here
# or on the command line.
# If you specify the heap size (-Xmx) explicitely, you may also want to enable
# Concurrent Mark & Sweep garbage collector. In such case add the following
# options to the netbeans_default_options:
# -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled
# (see http://wiki.netbeans.org/wiki/view/FaqGCPauses)
# Default location of JDK, can be overridden by using --jdkhome <dir>:
netbeans_jdkhome="D:\Java\jdk1.6.0_16"
# Additional module clusters, using ${path.separator} (';' on Windows or ':' on Unix):
#netbeans_extraclusters="/absolute/path/to/cluster1:/absolute/path/to/cluster2"
# If you have some problems with detect of proxy settings, you may want to enable
# detect the proxy settings provided by JDK5 or higher.
# In such case add -J-Djava.net.useSystemProxies=true to the netbeans_default_options.
该配置文件中以“#”开头的行均为注释,因此重点关注未以“#”开头的行。
第一行“netbeans_default_userdir”,定义了用户关于NetBeans的设置保存的位置。(这里应该不会影响。)
第二行“netbeans_default_options”,这后面的参数包括了Java虚拟机启动时的一些设置以及NetBeans启动时的一些设置。(问题应该就在这里了。)
第三行“netbeans_jdkhome”,这里定义了NetBeans所使用的JDK所在的位置。(这里应该也不会影响。)
在“netbeans_default_options”后的参数中,有一条“-J-MaxPermSize=384m”,这里定义了Java虚拟机能使用的堆栈的最大值为384m,最后经过多次修改尝试,将其值改为300m就可以了。
另外,也可以直接在这一行前面加上一个“#”,将该行注消。