Ruby on rails 基于JBoss的rails应用程序找不到activerecord jdbcmysql适配器

Ruby on rails 基于JBoss的rails应用程序找不到activerecord jdbcmysql适配器,ruby-on-rails,jboss,warbler,Ruby On Rails,Jboss,Warbler,我有一个rails应用程序部署到jboss,作为一个使用warbler打包的war。这个应用程序已经运行了一段时间了 我希望更改rails应用程序,以便rails、所有GEM及其依赖项都由供应商提供。在这一点上,我可以让它工作得很好,可以使用mongrel在本地引导应用程序,而且没有问题,还可以构建没有问题的war 但是,当我将war部署到jboss时,它无法成功加载应用程序,因为它无法找到activerecord jdbcmysql适配器 2010-10-26 14:20:23,281 ERR

我有一个rails应用程序部署到jboss,作为一个使用warbler打包的war。这个应用程序已经运行了一段时间了

我希望更改rails应用程序,以便rails、所有GEM及其依赖项都由供应商提供。在这一点上,我可以让它工作得很好,可以使用mongrel在本地引导应用程序,而且没有问题,还可以构建没有问题的war

但是,当我将war部署到jboss时,它无法成功加载应用程序,因为它无法找到activerecord jdbcmysql适配器

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适配器的条目

    config.gems+=[“activerecord jdbcmysql适配器”,“jruby openssl”]

  • 手动打开战争包并确认宝石存在

  • WEB-INF/gems/gems

    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/vendor/gems

    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
    
    我不知道这是什么原因,但如果有人有任何想法,请分享

    JBoss5 轨道2.3.10 JRuby 1.5


    谢谢

    可能是JBoss/JRuby机架交互问题。在过去,我们有一些报告称,由于JBoss在类、资源路径和URL中使用了VFS,这种方法不起作用。你也可能会被这个绊倒


    您可以尝试在Tomcat6中使用相同的war文件来隔离JBoss作为等式的一部分吗?然后请在或上发布错误。

    谢谢,尼克。我学到的一点是,我还将activerecord jdbcmysql适配器的版本从0.9.2升级到了1.0.2。从版本0.9.3开始,gem“name”以-java结尾。当gems被冻结时,这个文件夹现在被称为activerecord-jdbcmysql-adapter-1.0.2-java,而不是activerecord-jdbcmysql-adapter。我已经重建了war,并且在activerecord jdbcmysql适配器上不再失败,但是另一个以-java.Typo结尾的gem我在0.9.3版本的gem上重建了war,它通过了加载activerecord jdbcmysql适配器