【问题标题】:Jruby Rails: Java::JavaLang::OutOfMemoryError: Java heap space error while compiling assetsJruby Rails:Java::JavaLang::OutOfMemoryError:编译资产时出现 Java 堆空间错误
【发布时间】:2016-12-07 14:08:13
【问题描述】:

我在 jruby 和 rails 上。我正在尝试预编译我的资产,但它给了我以下错误。

rake aborted!
Java::JavaLang::OutOfMemoryError: Java heap space
org.mozilla.javascript.ScriptableObject.createSlot(org/mozilla/javascript/ScriptableObject.java:2913)
org.mozilla.javascript.ScriptableObject.getSlot(org/mozilla/javascript/ScriptableObject.java:2841)
org.mozilla.javascript.ScriptableObject.putImpl(org/mozilla/javascript/ScriptableObject.java:2725)
org.mozilla.javascript.ScriptableObject.put(org/mozilla/javascript/ScriptableObject.java:515)
org.mozilla.javascript.IdScriptableObject.put(org/mozilla/javascript/IdScriptableObject.java:386)
org.mozilla.javascript.ScriptableObject.putProperty(org/mozilla/javascript/ScriptableObject.java:2432)
org.mozilla.javascript.ScriptRuntime.setObjectProp(org/mozilla/javascript/ScriptRuntime.java:1665)
org.mozilla.javascript.ScriptRuntime.setObjectProp(org/mozilla/javascript/ScriptRuntime.java:1659)
org.mozilla.javascript.Interpreter.interpretLoop(org/mozilla/javascript/Interpreter.java:1250)
org.mozilla.javascript.Interpreter.interpret(org/mozilla/javascript/Interpreter.java:815)
org.mozilla.javascript.InterpretedFunction.call(org/mozilla/javascript/InterpretedFunction.java:109)
org.mozilla.javascript.ContextFactory.doTopCall(org/mozilla/javascript/ContextFactory.java:393)
org.mozilla.javascript.ScriptRuntime.doTopCall(org/mozilla/javascript/ScriptRuntime.java:3280)
org.mozilla.javascript.InterpretedFunction.call(org/mozilla/javascript/InterpretedFunction.java:107)
RUBY.call(C:/jruby-1.7.16/lib/ruby/gems/shared/gems/therubyrhino-2.0.4/lib/rhino/rhino_ext.rb:193)
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)

我在搜索此错误时尝试了在 stakoveflow 上找到的以下命令,但仍然无法正常工作。

rake assets:precompile RAILS_ENV=production EXECJS_RUNTIME='Node' JRUBY_OPTS="-J-d32 -X-C"

我认为这个问题是因为 plotly-latest.min.js 文件。这个文件的大小是 1724KB 。每当我从 application.js 中删除此文件时,我的资产预编译都会正常工作。

仅供参考,我的 jruby 版本是 1.7.16,rails 版本是 4.2.0 如何克服这个问题?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 asset-pipeline jruby


    【解决方案1】:

    只需为预编译任务提供更多 JVM 堆空间 (jruby -J-Xmx1g ...)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多