代码之家  ›  专栏  ›  技术社区  ›  Dex

jRuby与莺、RVM和Tomcat的问题

  •  3
  • Dex  · 技术社区  · 15 年前

    if defined?(JRUBY_VERSION)
        gem 'jdbc-mysql'
        #gem 'jdbc-sqlite3'
        gem 'activerecord-jdbc-adapter'
        gem 'activerecord-jdbcmysql-adapter'
        #gem 'activerecord-jdbcsqlite3-adapter'
        gem 'jruby-openssl'
        gem 'jruby-rack'
        gem 'warbler'
    else
        gem 'mysql'
        gem "mongrel"
        gem 'ruby-debug'
    end
    

    某些环境设置:

    $ rvm -v
    rvm 1.0.14 
    
    $ jruby -v
    jruby 1.5.3 (ruby 1.8.7 patchlevel 249) (2010-09-28 7ca06d7) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_20) [x86_64-java]
    

    jruby -S bundle install 一切顺利。

    当我试着做一些像 rake db:migrate , jruby -S rake db:migrate warble

    我通过删除warbler插件解决了这个问题,它不喜欢 Warbler::Task.new

    接下来,我跑 warble config 给我一个config/warbler.rb文件。

    创建我的.war文件。到现在为止,一直都还不错。

    Oct 10, 2010 1:34:46 AM org.apache.catalina.core.ApplicationContext log
    SEVERE: Application Error
    
    org.jruby.rack.RackInitializationException: 
    http://github.com/plataformatec/devise.git (at master) is not checked out. 
    Please run 'bundle install'
    

    我通过进入webapps/myapp/WEB-INF并运行 jruby-S包安装

    它不再工作了,我也不知道发生了什么。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Nick Sieger    15 年前

    我相信在当前版本的《莺》中,这可以称为一个bug。在Gemfile中使用git存储库并不能在war文件中正确地执行,Bundler仍然在磁盘上寻找签出的存储库。

    未来版本的莺可能会做一些类似于 bundle --deployment 创建war文件时。

    现在,要解决这个问题,您可能必须提供设计代码。

        2
  •  0
  •   user684934 user684934    13 年前

    warbler war . 我发现有以下命令的大楼可以工作:

    warbler compiled war
    

    希望将来的版本能更全面地解决这个问题。

    推荐文章