什么是使JRuby默认以1.9模式运行的最佳方法?
例如,我想要运行
谢谢。
例如,我想要运行
rake test
而不是jruby --1.9 -S rake test
。谢谢。
rake test
而不是jruby --1.9 -S rake test
。使用 JRUBY_OPTS
环境变量。 JRUBY_OPTS
包含要添加到命令行中指定的任何参数的参数列表。
例如(在Linux上):
$ jruby -v jruby 1.6.0.RC1 (ruby 1.8.7 patchlevel 330) (2011-01-10 769f847) (Java HotSp... $ export JRUBY_OPTS=--1.9 $ jruby -v jruby 1.6.0.RC1 (ruby 1.9.2 trunk 136) (2011-01-10 769f847) (Java HotSpot(TM... $ export JRUBY_OPTS=--1.8 $ jruby -v jruby 1.6.0.RC1 (ruby 1.8.7 patchlevel 330) (2011-01-10 769f847) (Java HotSpo...
另一个解决方案是将以下行(和其他设置)放入您的~/.jrubyrc文件中。
compat.version=1.9
RVM现在可以默认使用默认模式构建JRuby/Rubinius:
rvm install jruby-1.6.7-d19 --1.9
rvm install rbx-2.0.testing-d19 --1.9
后缀 -d19
可以省略,我只是用它来区分1.8和1.9模式下的ruby。--1.9
模式将成为默认模式,因此您可以使用 --1.8
rvm switch 来确保您正在使用1.8。
更新于2012-05-25: Jruby 1.7.0.preview1 已发布,默认情况下为1.9!set JRUBY_OPTS=--1.9
而不是其他方式。warbler -v <version>
warble config
这将创建一个config/warble.rb
文件。该文件包含有关如何配置warbler的大量注释,特别是:
# Set JRuby to run in 1.9 mode.
# config.webxml.jruby.compat.version = "1.9"
通过删除#
取消第二行的注释,并使用warble
命令重新打包您的war文件。
如果您正在从Java创建jruby:
RubyInstanceConfig config = new RubyInstanceConfig();
config.setCompatVersion(CompatVersion.Ruby1_9);
Ruby runtime = Ruby.newInstance(config)
(Thanks to bbrowning on the #jrubyc irc channel)