2011-11-21 30 views
2

# 我正在使用Buildr作为我的构建工具。我的构建过程的一部分使用JAX-WS从WSDL生成Java源代码。我有一个ANT构建脚本,它使用wsimport ant任务执行此操作。在Buildr中使用AntWrap Ruby模块可以做同样的事情。buildr antwrap OutOfMemoryError PermGen空间

我的问题是当我尝试为许多WSDL生成源代码时,我得到了OutOfMemoryError PermGen空间。运行本身蚂蚁时,我得到了同样的问题,而是由ANT_OPTS环境变量设置为解决它:

set ANT_OPTS=-Xmx512m -XX:PermSize=64m -XX:MaxPermSize=128m 

但是当我使用Buildr运行我的体型我仍然得到即使这个环境变量设置错误。我甚至尝试在我的构建文件中设置这个变量,但这没有帮助。

我的环境如下:

  • 视窗XP
  • 的JRuby 1.6.3
  • Buildr 1.4.6
  • AntWrap 0.7.0

回答

4

你尝试设置JAVA_OPTS在构建文件中,我不确定buildr/antwrap是否会提取ANT_OPS环境变量。

ENV['JAVA_OPTS'] ||= '-Xms1g -Xmx1g' 
+0

我也觉得'JAVA_OPTS'就是解决方案。请注意,它也可以设置为环境变量(而不是构建文件)。为了更加清楚,如果环境变量尚未设置,则此建议('|| =')中的构造将仅将其设置为“-Xms1g -Xmx1g”。 –

+0

感谢您的建议。我曾尝试设置JAVA_OPTS以及JVM_ARGS,但如果将JAVA_OPTS变量设置为构建文件外部(即在命令提示符下),那么它仍然不起作用 – Ross

+0

然后它可以工作。感谢家伙...........这确实有助于 – Ross