【问题标题】:rbenv, JRuby, Warble, Rakerbenv、JRuby、Warble、Rake
【发布时间】:2011-12-12 21:37:38
【问题描述】:

我有 JRuby Web 应用程序,它在部署框上的 Tomcat 服务器中运行。我使用 Warble 将它打包到一个 WAR 文件中,然后部署在我也安装了 JRuby 的服务器上。我在开发盒和部署盒上运行 rbenv 和 JRuby 1.6.4。

我的 Gemfile 如下所示:

source 'http://rubygems.org'
gem 'rails', '3.0.10'
gem 'rake', '0.8.7'
gem 'jquery-rails'
gem 'rest-client', '~> 1.6.7'


platforms :mri do
gem 'mysql2', '~> 0.2.11'
end


platforms :jruby do 
gem 'jruby-openssl'
gem 'activerecord-jdbcmysql-adapter'
gem 'warbler'
end

我想运行一些我的自定义 Rake 任务。当我在我使用的开发环境(“rails server”)中运行我的 rake 任务时,它工作正常(我使用的是 rbenv,并且“rails server”确实调用了 JRuby 1.6.4,并且我运行了“bundle exec rake abc:帮助”)。

我的本​​地宝石列表如下所示:

user@ubuntu:~/abc$ gem list --local

*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (3.0.10)
actionpack (3.0.10)
activemodel (3.0.10)
activerecord (3.0.10)
activerecord-jdbc-adapter (1.2.0)
activerecord-jdbcmysql-adapter (1.2.0)
activeresource (3.0.10)
activesupport (3.0.10)
arel (2.0.10)
bouncy-castle-java (1.5.0146.1)
builder (2.1.2)
bundler (1.0.21)
erubis (2.6.6)
i18n (0.5.0)
jdbc-mysql (5.1.13)
jquery-rails (1.0.16)
jruby-jars (1.6.4)
jruby-openssl (0.7.4)
jruby-rack (1.0.10)
json (1.6.1 java)
mail (2.2.19)
mime-types (1.16)
polyglot (0.3.2)
rack (1.2.4)
rack-mount (0.6.14)
rack-test (0.5.7)
rails (3.0.10)
railties (3.0.10)
rake (0.9.2, 0.8.7)
rdoc (3.11)
rest-client (1.6.7)
rubyzip (0.9.4)
thor (0.14.6)
treetop (1.4.10)
tzinfo (0.3.30)
warbler (1.3.2)
user@ubuntu:~/abc$ 

当应用程序在单独的盒子上的Tomcat tomcat/webapps/abc/* 中时,(被Tomcat分解),我转到根目录,我得到以下信息:

jgodse@host:~.../webapps/abc/WEB-INF$ bundle exec rake bcp:help --trace
rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)
/home/jgodse/.rbenv/versions/jruby-1.6.4/lib/ruby/gems/1.9/gems/rake-0.8.7/lib/rake.rb:2377:in `raw_load_rakefile'
/home/jgodse/.rbenv/versions/jruby-1.6.4/lib/ruby/gems/1.9/gems/rake-0.8.7/lib/rake.rb:2017:in `load_rakefile'
/home/jgodse/.rbenv/versions/jruby-1.6.4/lib/ruby/gems/1.9/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/home/jgodse/.rbenv/versions/jruby-1.6.4/lib/ruby/gems/1.9/gems/rake-0.8.7/lib/rake.rb:2016:in `load_rakefile'
/home/jgodse/.rbenv/versions/jruby-1.6.4/lib/ruby/gems/1.9/gems/rake-0.8.7/lib/rake.rb:2000:in `run'
/home/jgodse/.rbenv/versions/jruby-1.6.4/lib/ruby/gems/1.9/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/home/jgodse/.rbenv/versions/jruby-1.6.4/lib/ruby/gems/1.9/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
/home/jgodse/.rbenv/versions/jruby-1.6.4/lib/ruby/gems/1.9/gems/rake-0.8.7/bin/rake:31:in `(root)'
org/jruby/RubyKernel.java:1073:in `load'
/home/jgodse/.rbenv/versions/jruby-1.6.4/lib/ruby/gems/1.9/bin/rake:19:in `(root)'
jgodse@host:~.../webapps/abc/WEB-INF$ 

我的本​​地 gem 列表在部署框上看起来像这样(Rails 应用程序部署在 WAR 文件中)。

jgodse@host:~/webapps/abc/WEB-INF$ gem list --local
abstract (1.0.0)
actionmailer (3.0.10)
actionpack (3.0.10)
activemodel (3.0.10)
activerecord (3.0.10)
activerecord-jdbc-adapter (1.2.0)
activerecord-jdbcmysql-adapter (1.2.0)
activeresource (3.0.10)
activesupport (3.0.10)
arel (2.0.10)
bouncy-castle-java (1.5.0146.1)
builder (2.1.2)
bundler (1.0.21)
erubis (2.6.6)
i18n (0.5.0)
jdbc-mysql (5.1.13)
jquery-rails (1.0.16)
jruby-jars (1.6.4)
jruby-openssl (0.7.4)
jruby-rack (1.0.10)
json (1.6.1 java)
mail (2.2.19)
mime-types (1.17.2, 1.16)
polyglot (0.3.2)
rack (1.2.4)
rack-mount (0.6.14)    
rack-test (0.5.7)
rails (3.0.10)
railties (3.0.10)
rake (0.9.2.2, 0.8.7)
rdoc (3.11) 
rest-client (1.6.7)
rubyzip (0.9.4)
thor (0.14.6)
treetop (1.4.10)
tzinfo (0.3.30)
warbler (1.3.2)
jgodse@host:~/webapps/abc/WEB-INF$ 

为了让我的 rake 任务从我爆炸的 WAR 文件目录中耗尽,我缺少什么?

另外,我正在使用 Rake 0.8.7,因为 0.9.2 让我很伤心。

【问题讨论】:

    标签: tomcat rake jrubyonrails warbler


    【解决方案1】:

    Warbler 默认不包含您的 Rakefile,因此您必须将其添加到 config/warble.rb。 (如果您还没有文件,请使用warble config 生成文件。)

    【讨论】:

    • #这是我应该做的吗? config.includes FileList["./Rakefile"]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多