jRubyをデフォルトで1.9モードで実行するための最良の方法は何ですか?
つまり、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モードルビーを区別するためにのみ使用します。
--1.9
モードは、JRuby/Rubiniusの次のメジャーリリースでデフォルトになるため、--1.8
rvmスイッチで1.8を使用することを確認できます。
PDATE 2012-05-25: Jruby 1.7.0.preview1がリリースされました。デフォルトでは1.9です!
Windowsでは、代わりにset JRUBY_OPTS=--1.9
を使用します。
Warblerを使用してアプリをwarファイルとしてパッケージ化する場合、次を実行してバージョンを設定できます。
warble config
config/warble.rb
ファイルを作成します。このファイルには、ウグイスの設定方法に関する多くのコメントが含まれています。特に、
# Set JRuby to run in 1.9 mode.
# config.webxml.jruby.compat.version = "1.9"
#
を削除して2行目のコメントを解除し、warble
コマンドで戦争を再パッケージ化します。
Javaからjrubyを作成している場合:
RubyInstanceConfig config = new RubyInstanceConfig();
config.setCompatVersion(CompatVersion.Ruby1_9);
Ruby runtime = Ruby.newInstance(config)
(#jrubyc ircチャンネルのブラウニングに感謝します)