昨年、大規模なRailsアプリケーションをJRubyに移植しましたが、これは驚くべき量の作業でした。確かに、その一部は、アプリの記述がかなり悪く、レガシーコードがたくさんあることに関係していましたが、それでもなおです。ご参考までに:私たちの問題のほとんどは、私たちが使用した宝石に起因していました。当時JRubyで適切に動作しなかったFFI。私が少し後で行ったルビニウスへの移植は、それほど苦痛ではないように見えましたが、MRIにとどまるために放棄されました。
Gemfileには、platform
があります 使用できるオプション。 Bundlerドキュメントの例を次に示します。
gem "weakling", :platforms => :jruby
gem "ruby-debug", :platforms => :mri_18
gem "nokogiri", :platforms => [:mri_18, :jruby]
ブロック形式もあります:
platforms :jruby do
gem "foo"
end
なので、どちらの形式でもうまく機能します
MySQLの宝石として、適切な名前のmysql
を使用します 、jdbc-mysql
があるようです JRubyの場合。