在大多数现代IDE中,您可以设置一个参数,以确保javac获得足够的堆内存来进行编译。由于不值得进入的原因,我们暂时与JBuilder 2005/2006并列,似乎源代码的数量超过了javac可以处理的数量。
请保留JBuilder 2005/2006 javac特有的答案(我们现在无法迁移,Borland Make编译器不能正确支持Java 1.6)
我意识到应该如何传递给javac,问题是IDE似乎不允许在任何地方设置这些参数。很多配置都隐藏在Jbuilder Install \ bin * .config文件中,我觉得答案可能在某处,但还没有找到。
答案 0 :(得分:6)
你找到了解决这个问题的好方法吗?
我有同样的问题,我找到的唯一解决方案如下: 环境变量JAVA_TOOL_OPTIONS可用于为JVM提供参数。
http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#tooloptions
我创建了一个批处理文件“JBuilderw.bat”,其中包含以下内容:
设置JAVA_TOOL_OPTIONS = -Xmx256m
JBuilderw.exe
每次我使用这个批处理文件env.var启动JBuilder。将设置JAVA_TOOL_OPTIONS并且javac.exe将接收该设置。 JVM最后显示以下消息:“Picked up JAVA_TOOL_OPTIONS:-Xmx256m”
缺点:JBuilder启动的所有虚拟机都将获得该设置。 :(
谢谢, JB
答案 1 :(得分:0)
查看http://javahowto.blogspot.com/2006/06/fix-javac-java-lang-outofmemoryerror.html
您需要传递给JBuilder的javac的参数是“-J-Xms256m -J-Xmx256m”。在你的情况下用适当的东西替换256米。另外,删除引号。
这适用于java 1.4,java 1.5和转发。
BR, 〜A
答案 2 :(得分:0)
“我意识到应该如何以及将什么参数传递给javac,问题是IDE似乎不允许在任何地方设置这些参数。”
我现在意识到你知道如何传递正确的参数而不是传递这些参数的位置: - (
怎么样:你能找到borland使用的JAVA_HOME / bin目录吗?如果是,那么您可以使用javac.bat重命名javac.exe(比如说javacnew.exe),而javac.bat又会调用javacnew.exe(以及传递必需的参数)?
答案 3 :(得分:0)
我不知道这是否有用,因为我不使用Borland但是在Eclipse中,这是一个你附加到你将要运行的程序的设置。您在IDE中运行的每个程序都具有特定于其的配置,包括VM的参数。有类似的东西吗?
答案 4 :(得分:0)
你有一个位于JBuilder2005 / bin /中的jdk.config文件吗?
您应该能够修改该文件中的vm参数,如:
vmparam -Xms256m
vmparam -Xmx256m
如果有效,请告诉我,我在page上讨论了在JBuilder 2005中编辑相关设置的问题。
答案 5 :(得分:0)
编辑jbuilder.config
文件。
请注释这两行:
vmmemmax 75%
vmmemmin 32m
他们应该是<1Gb and with a >
1Gb PC,75%是太大了吗?