在尝试将Jruby/Rails应用程序部署到Weblogic 10.3(Solaris区)容器时,始终遇到以下例外:

org.jruby.rack.RackInitializationException: library `fcntl' could not be loaded: java.lang.NullPointerException
from /xyz/war/WEB-INF/gems/gems/activesupport-3.0.6/lib/active_support/dependencies.rb:239:in `require'
from /xyz/war/WEB-INF/gems/gems/activesupport-3.0.6/lib/active_support/dependencies.rb:225:in `load_dependency'
from /xyz/war/WEB-INF/gems/gems/activesupport-3.0.6/lib/active_support/dependencies.rb:596:in `new_constants_in'
from /xyz/war/WEB-INF/gems/gems/activesupport-3.0.6/lib/active_support/dependencies.rb:225:in `load_dependency'
from /xyz/war/WEB-INF/gems/gems/activesupport-3.0.6/lib/active_support/dependencies.rb:239:in `require'
from /xyz/war/WEB-INF/gems/gems/jruby-openssl-0.7.3/lib/openssl/ssl.rb:19:in `(root)'
from org/jruby/RubyKernel.java:1038:in `require'
[..snip...]

只是不明白为什么Jruby无法加载此核心库。似乎有点与Solaris有关,因为在MacOS X上安装WLS并在本地部署无问题。

有任何提示,或者我可以在哪里看 - 或如何解决此问题?

更新:可能是一个错误(现在在Jruby Jira中跟踪IRC/#Jruby中的反馈,请参阅: http://jira.codehaus.org/browse/jruby-5753

有帮助吗?

解决方案

我通过添加来解决这个问题 -d32JAVA_OPTS, ,强制使用32位JVM。

其他提示

我在Centos 5和OSX上遇到了这个问题,其中有Tomcat 7和Jruby 1.7.2。和一个sqlite3 dB。我通过戳戳解决了这个问题,我不确定为什么要解决的问题,但我发现了一些事情:由于先前的崩溃,我在重新启动Tomcat后遇到了此错误,这使DB锁定了。 ActiveRecord :: StatementInvalid(Java :: Javalang ::错误:_syscall()中的内部错误:选择“ URLS”。*来自“ urls”):

以下步骤似乎解决了问题,尽管在我看来原始错误只是表明数据库处于不良状态。 - 我将jruby降至1.7.1-我从Gemfile中删除了与DB有关的所有宝石,除了ActivereCord-JDBCSQLITE3-ADAPTER'。这似乎解决了这个问题。 (我删除的宝石是“ sqlite-ruby”,“ sqlite3','activerecord-jdbc-radapter','jruby-rack')我注意到,这里的第一个宝石是普通的c宝石,不应部署它因为它不是一个有条件的,但无论如何似乎都被鸣莺纳入了战争中。无论如何,我重新部署了它,甚至使用了原始DB。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top