首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jRuby和与Warbler、RVM和Tomcat相关的问题

jRuby和与Warbler、RVM和Tomcat相关的问题
EN

Stack Overflow用户
提问于 2010-10-10 18:59:35
回答 2查看 2K关注 0票数 3

在Tomcat6上部署jRuby on Rails 3时,我遇到了很大的困难,我只让它工作过一次。

我修改了我的database.yaml和Gemfile来检查jRuby,如下所示:

代码语言:javascript
复制
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

一些环境设置:

代码语言:javascript
复制
$ 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:migratejruby -S rake db:migratewarble之类的操作时,我收到了50个弃用警告和最终的堆栈溢出。

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

接下来,我运行warble config给出了一个配置/warbler.rb文件。

最后,使用warble创建我的.war文件。到目前一切尚好。

现在,我将.war文件移动到我的Tomcat webapps。除了一个错误之外,一切都运行正常:

代码语言:javascript
复制
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 bundle install

它不再起作用了,我不知道发生了什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-12 00:01:05

我相信这可以被称为当前版本的Warbler中的一个错误。在Gemfile中使用git存储库并不能在war文件中正确过渡,Bundler仍在磁盘上寻找已签出的存储库。

当您创建war文件时,Warbler的未来版本可能会执行类似于bundle --deployment的操作。

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

票数 2
EN

Stack Overflow用户

发布于 2012-12-07 15:02:19

如果您使用warbler war构建一个war文件,那么当前版本的warbler (1.3.6)也会表现出这种行为。我发现使用以下命令构建可以正常工作:

代码语言:javascript
复制
warbler compiled war

希望未来的版本能更完整地解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3900027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档