标签: warbler

JRuby Warbler的非Web应用程序

我怎么编译使用JRuby应用程序不是在网络上呢?这总是在我尝试时发生的事情:

$ warble
warble aborted!
No executable script found

Tasks: TOP => jar:files
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

我必须错误地使用它.有谁知道如何正确编译JRuby应用程序?

java compilation jar jruby warbler

8
推荐指数
2
解决办法
3512
查看次数

如何阻止RVM干扰JRuby

我使用Warbler从我的Ruby源创建一个Jar文件.我也安装了RVM.jar的行为取决于RVM使用的Ruby版本:如果我rvm use jruby然后jar工作正常,但如果我rvm use 2.2然后运行jar将这些警告消息打印到控制台:

Ignoring executable-hooks-1.3.2 because its extensions are not built.  Try: gem pristine executable-hooks --version 1.3.2
Ignoring gem-wrappers-1.2.7 because its extensions are not built.  Try: gem pristine gem-wrappers --version 1.2.7
Run Code Online (Sandbox Code Playgroud)

如果我rvm use ruby-1.9.3-p484然后运行jar实际上失败了:

Ignoring unf_ext-0.0.7.1 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.1
Ignoring nokogiri-1.6.2.1 because its extensions are not built.  Try: gem pristine nokogiri --version 1.6.2.1
Ignoring nokogiri-1.6.6.2 because its extensions are not built.  Try: gem …
Run Code Online (Sandbox Code Playgroud)

ruby java jruby warbler rvm

8
推荐指数
1
解决办法
355
查看次数

JRuby/Warbler results in no such file to load -- bundler/dep_proxy

I have a large rails app converted successfully to use JRuby and it runs locally without any issues bundle exec rails s -b 0.0.0.0.

I'm now trying to create a deployable WAR file using the following:

bundle exec warble executable war

This completes successfully without errors, but when running it with:

java -jar application.war

It boots up and then after a few seconds, it spits out this error:

2016-06-28 11:48:16.544:INFO::main: Logging initialized @228ms
2016-06-28 11:48:16.553:INFO:oejr.Runner:main: Runner
2016-06-28 11:48:16.698:INFO:oejs.Server:main: jetty-9.2.9.v20150224 …
Run Code Online (Sandbox Code Playgroud)

java ruby-on-rails jruby warbler

8
推荐指数
1
解决办法
1154
查看次数

warbler配置和jruby版本

我刚刚安装了jruby-1.4.0来玩它.我注意到,warbler默认将我的rails部署打包.我的生产使用JRuby的完整-1.3.1(我已经加入到我的lib目录冻结的版本),但莺是增加JRuby的核心 - 1.4当它打包一切.这对我来说有点令人担忧,因为我不想要任何版本问题或冲突,我只想冻结我的jruby版本,以便在我准备升级时必须明确地更改它.有谁知道实现这一目标的最佳方法?

我读过的文档说它将从WARBLER_HOME中取出所有罐子并打包它们,所以我认为jruby-core-1.4就在那里,但事实并非如此.如何从部署中省略这一点,或者具体说"只给我XX版本的jruby"

我通过跑步找到了莺回家:

jruby -S gem which warbler
Run Code Online (Sandbox Code Playgroud)

这使

/opt/local/share/java/jruby/lib/ruby/gems/1.8/gems/warbler-0.9.14/lib/
Run Code Online (Sandbox Code Playgroud)

但它只有一个机架罐,没有提到jruby-core-1.4

有什么想法吗?

ruby-on-rails jruby warbler

7
推荐指数
1
解决办法
1820
查看次数

JRuby + Warbler:只要需要bson gem,jar文件就会爆炸

我想我可能在Warbler中发现了一个错误,但我想在这里发布这个问题以防万一我做错了.简而言之,任何尝试将需要"bson"gem的jruby应用程序打包到带有warbler的.jar文件中的尝试都会失败.这是我每次都得到的错误:

LoadError: no such file to load -- jar:file:/Users/jstokes/Local/Repositories/wartest/wartest.jar!/gems/bson-1.8.0-java/lib/../ext/java/jar/mongo-2.6.5 ...
Run Code Online (Sandbox Code Playgroud)

这是在OS X或Linux上重现问题的一组非常简单的步骤:

制作一个'wartest'目录并插入其中

使用bundler,创建一个名为'wartest'的新jruby-1.6.7.2 gemset.那么'rvm使用jruby-1.6.7.2@wartest'

安装warbler和bundler:

jruby --1.9 -S gem install warbler
jruby --1.9 -S gem install bundler
Run Code Online (Sandbox Code Playgroud)

只是为了确认它的工作原理:

which warble
#=> /Users/jstokes/.rvm/gems/jruby-1.6.7.2@wartest/bin/warble
Run Code Online (Sandbox Code Playgroud)

现在创建以下两行Gemfile:

#Gemfile
source 'http://rubygems.org'
gem 'bson'
Run Code Online (Sandbox Code Playgroud)

现在'捆绑安装'

现在创建一个bin目录并创建文件bin/main.rb.然后粘贴以下内容:

#bin/main.rb
require 'bson'
puts 'It worked!'
Run Code Online (Sandbox Code Playgroud)

此时,我们已准备好创建jar文件.那样做

jruby --1.9 -S warble jar
#=> rm -f wartest.jar
#=> Creating wartest.jar
Run Code Online (Sandbox Code Playgroud)

现在是时候了:

java -jar wartest.jar
#=> It worked!
Run Code Online (Sandbox Code Playgroud)

所以有什么问题?问题是,如果你换到另一个gemset,或者使用系统ruby,它会爆炸.注意:

rvm use system
#=> Now using system ruby.
java -jar wartest.jar
Run Code Online (Sandbox Code Playgroud)
LoadError: …

gem jruby warbler bson

6
推荐指数
0
解决办法
537
查看次数

我如何使用warbler打包的Ruby类作为Java代码中的jar?

我有一个ruby应用程序,我使用warbler编译成一个jar.我可以使用像这样的命令独立运行它java -jar executable.jar.但是我无法弄清楚如何在Java代码中使用这个jar.具体来说,我想在Java代码中创建Ruby类的对象,然后调用方法.

java jar jruby warbler

6
推荐指数
1
解决办法
341
查看次数

Warbler - 没有这样的文件来加载zip/zip

我正在尝试使用我的Rails项目创建一个war文件Warbler.

这是我的Gemfile:

source 'https://rubygems.org'


ruby '1.9.3', :engine => 'jruby', :engine_version => '1.7.4'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.0'

# Use mysql as the database for Active Record
#gem 'mysql2'
gem 'jdbc-mysql'
gem 'activerecord-jdbcmysql-adapter'


# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0'


# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'

# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'

# See https://github.com/sstephenson/execjs#readme for more supported …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails jruby warbler

6
推荐指数
1
解决办法
3453
查看次数

使用Warbler打包Rails应用程序的日志在哪里?

我正在使用Warbler将Rails应用程序打包到WAR中.我已经将它部署到JBoss服务器,它似乎工作.

但是,我在Rails上遇到经典500错误,说"我们很抱歉,但出了点问题."

通常,我会查看logs/production.log以找出错误,但由于项目是WARed,我无法访问它.问题是,当Rails应用程序出现故障时,日志写在哪里?

logging ruby-on-rails warbler ruby-on-rails-plugins

5
推荐指数
1
解决办法
1285
查看次数

将 JRuby-On-Rails 应用程序部署为战争时,将 sqlite3 数据库放在哪里?

背景:我想使用 warblers 可执行文件 war 部署一个小型 JRuby-On-Rails 应用程序,因此我可以删除 .war 文件,每个人都可以使用 .war 文件运行它java -jar app.war

应用程序使用sqlite3存储一些数据,production-db-file位于war内的WEB-INF/db。

每次启动应用程序时,winstone 都会将 war 解压到一个临时目录,如果应用程序第二次启动,则在此会话期间执行的所有操作都将丢失(因为生产数据库再次从 war 文件中解压)。

那么如何在每次应用程序启动时使用相同的 db 文件呢?

sqlite jruby jrubyonrails warbler winstone

5
推荐指数
1
解决办法
1060
查看次数

在rails3/jruby中,间歇性地导致此错误的原因是什么?SAVEPOINT active_record_1不存在

当一个人测试系统时,不会发生这些错误.但是通过jmeter测试,我可以非常可靠地重现一些错误:

ActiveRecord::JDBCError: SAVEPOINT active_record_1 does not exist: ROLLBACK TO SAVEPOINT active_record_1

Stack:

    gems/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract_adapter.rb:207:in `log'
    gems/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract_adapter.rb:200:in `log'
    gems/gems/activerecord-jdbc-adapter-1.2.1/lib/arjdbc/jdbc/adapter.rb:208:in `execute'
    gems/gems/activerecord-jdbc-adapter-1.2.1/lib/arjdbc/mysql/adapter.rb:156:in `rollback_to_savepoint'
    gems/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract/database_statements.rb:179:in `transaction'
    gems/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract/database_statements.rb:171:in `transaction'
    gems/gems/activerecord-3.0.10/lib/active_record/transactions.rb:207:in `transaction'
    gems/gems/activerecord-3.0.10/lib/active_record/transactions.rb:290:in `with_transaction_returning_status'
    gems/gems/activerecord-3.0.10/lib/active_record/transactions.rb:240:in `save'
    gems/gems/activerecord-3.0.10/lib/active_record/transactions.rb:251:in `rollback_active_record_state!'
    gems/gems/activerecord-3.0.10/lib/active_record/transactions.rb:239:in `save'
    ...(our code that simply calls save on a new instance of a model class)...
Run Code Online (Sandbox Code Playgroud)

我们不是嵌套事务,甚至没有明确地使用它们.我发现此错误消息存在一个现有错误,但它不相关; 我们没有截断或做任何DDL工作.仅仅创建一个记录并保存它.

我们使用Rails 3.0.10,JRuby 1.6.5,activerecord-jdbcmysql-adapter,使用Warbler 1.3.2进行了警告,并通过Elastic Beanstalk在64位Tomcat 7/Amazon RDS上使用单个Mysql实例v5.1.57进行部署.我们为config.threadsafe设置了! - 这感觉就像在ActiveRecord的内容中出现某种类型的种族 - 但ActiveRecord应该在线程安全中工作,不是吗?

最后一点:我担心这是一个JRuby或Warbler问题,因为如果我们从JRuby切换到MRI Ruby 1.9,我们就无法重现这个问题.

ruby jruby warbler ruby-on-rails-3 amazon-elastic-beanstalk

5
推荐指数
1
解决办法
566
查看次数

使用Warbler时,为什么dbub目录中不包含db目录?

我创建了一个简单的'hello'类型的JRuby应用程序,并使用Warbler进行WAR,然后部署到JBoss.但是,使用该应用程序时出现以下错误:

ActiveRecord::JDBCError (The driver encountered an unknown error: java.sql.SQLException: path to '/opt/jboss/server/ruby/tmp/deploy/tmp8791905909469840942demo-exp.war/WEB-INF/db/production.sqlite3': '/opt/jboss/server/ruby/tmp/deploy/tmp8791905909469840942demo-exp.war/WEB-INF/db' does not exist):

当我深入研究demo.war文件时,WEB-INF目录中缺少db目录.db目录虽然存在于测试,开发和生产数据库文件中,但仍存在于app目录中.

有任何想法吗?

jruby warbler

3
推荐指数
1
解决办法
548
查看次数

wkhtmltopdf在战争中不能从wicked-pdf执行

我正在尝试使用Ruby On Rails中的wicked-pdf创建一个pdf.它在开发模式下运行良好,但是当我在生产中部署时,我收到错误:

wkhtmltopdf is not executable
Run Code Online (Sandbox Code Playgroud)

我有位于以下位置的wkhtmltopdf可执行文件:

rails_root/bin/wkhtmltopdf-i386
Run Code Online (Sandbox Code Playgroud)

Warbler设置为在战争中包含bin文件夹:

config.includes = FileList["classes/*","bin/*"]
Run Code Online (Sandbox Code Playgroud)

我有邪恶的pdf配置为在正确的位置找到bin:

WickedPdf.config = {
  :exe_path => Rails.root.join('bin', 'wkhtmltopdf-i386').to_s
}
Run Code Online (Sandbox Code Playgroud)

我运行warbler然后在jBoss应用服务器上部署战争.当我尝试生成PDF时,我收到有关它不可执行的错误.它在开发模式下运行良好 - 而不是在战争中.

二进制文件的权限应该没问题:

-rwxr-xr-x  1 username group 11446024 Apr  3 11:40 wkhtmltopdf-i386
Run Code Online (Sandbox Code Playgroud)

我尝试使用wkhtmltopdf-binary gem而不是手动包含wkhtmltopdf二进制文件.这在开发模式下也运行良好,但Wicked PDF无法在生产中找到二进制文件.

更新:在生产模式下,我将wicked-pdf配置更改为指向'wkhtmltopdf-binary'gem提供的二进制文件.这也是wkhtmltopdf is not executable错误.路径最终是:jboss-5.1.0.GA/server/default/tmp/3j001-3g0fg5-hf2xi49o-1-hf2xiuld-9q/myrailsapp.war/WEB-INF/gems/gems/wkhtmltopdf-binary-0.9.9.1/bin/wkhtmltopdf_linux_386

ruby-on-rails jruby warbler wicked-pdf

1
推荐指数
1
解决办法
2293
查看次数

运行querxc包warbleR时文件中出错(带有"r")

我在运行querxc()时出现文件错误(带"r") - (低于错误)的错误.我做过几次谷歌搜索,发现很少.你有没有在包装WarbleR中看到这个错误?有谁能够帮我 ?

cabanisi < - querxc(qword ="Synallaxis cabanisi",下载= FALSE)获取录制列表...文件错误(con,"r"):无法打开连接另外:警告消息:在文件中(con,"r "):InternetOpenUrl失败:'Umaresicitaçãoderedirecionamentotransformaráumaoconónãoseguraem segura'

r warbler

0
推荐指数
1
解决办法
103
查看次数