我将一个rails应用程序部署到jboss作为使用warbler打包的战争。该应用程序已经有一段时间了。
我希望更改rails应用程序,以便rails,所有gem及其依赖项都是供应商。在这种程度上,我让它运行良好,可以使用mongrel在本地引导应用程序,没有任何问题,也可以建立没有问题的战争
然而,当我将war部署到jboss时,它无法成功加载应用程序,说它无法找到activerecord-jdbcmysql-adapter。
2010-10-26 14:20:23,281 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/lmd4]] (main) unable to create shared application instance
org.jruby.rack.RackInitializationException: Please install the jdbcmysql adapter: `gem install activerecord-jdbcmysql-adapter` (no such file to load -- active_record/connection_adapters/jdbcmysql_adapter)
这是我到目前为止所做的:
确保config / warble.rb有一个activerecord-jdbcmysql-adapter的条目
config.gems + = [“activerecord-jdbcmysql-adapter”,“jruby-openssl”]
手动解开战争,确认宝石存在
WEB-INF /宝石/宝石
drwxrwxr-x 7 4096 Oct 26 14:14 activerecord-jdbc-adapter-1.0.2-java
drwxrwxr-x 3 4096 Oct 26 14:14 activerecord-jdbcmysql-adapter-1.0.2-java
drwxrwxr-x 3 4096 Oct 26 14:14 bouncy-castle-java-1.5.0145.2
drwxrwxr-x 3 4096 Oct 26 14:14 jdbc-mysql-5.0.4
drwxrwxr-x 4 4096 Oct 26 14:14 jruby-openssl-0.7.1
drwxrwxr-x 7 4096 Oct 26 14:14 rack-1.1.0
WEB-INF /供应商/宝石
drwxrwxr-x 7 4096 Oct 26 14:14 activerecord-jdbc-adapter-1.0.2-java
drwxrwxr-x 3 4096 Oct 26 14:14 activerecord-jdbcmysql-adapter-1.0.2-java
drwxrwxr-x 3 4096 Oct 26 14:14 bouncy-castle-java-1.5.0145.2
drwxrwxr-x 5 4096 Oct 26 14:14 fastercsv-1.5.3
drwxrwxr-x 12 4096 Oct 26 14:14 hobo-1.0.1
drwxrwxr-x 7 4096 Oct 26 14:14 hobofields-1.0.1
drwxrwxr-x 4 4096 Oct 26 14:14 hobosupport-1.0.1
drwxrwxr-x 3 4096 Oct 26 14:14 jdbc-mysql-5.0.4
drwxrwxr-x 4 4096 Oct 26 14:14 jruby-openssl-0.7.1
drwxrwxr-x 4 4096 Oct 26 14:14 json-1.4.6-java
drwxrwxr-x 2 4096 Oct 26 14:14 json-jruby-1.4.6-java
drwxrwxr-x 7 4096 Oct 26 14:14 rack-1.1.0
drwxrwxr-x 4 4096 Oct 26 14:14 will_paginate-2.3.15
我不知道是什么导致这种情况,但如果有人有任何想法请分享?
JBoss 5 Rails 2.3.10 JRuby 1.5
由于
答案 0 :(得分:0)
可能是JBoss / JRuby-Rack交互问题。由于JBoss在类和资源路径和URL中使用了VFS,我们过去曾经有过一些报告无效。你也可以绊倒它。
你能在Tomcat 6中尝试相同的war文件来将JBoss作为等式的一部分来隔离吗?然后,请在http://kenai.com/jira/browse/JRUBY_RACK或http://bugs.jruby.org/发布错误。