FaqJRubyAndIRBJa

JRuby IRB から Java にアクセスするにはどうしたらよいですか?

ある Ruby プログラムが (標準以外の) いくつかの Java クラスを使っているとします。プロジェクトのプリパティーダイアログの Java タブで JAR ファイルを追加すると JRuby のクラスパスに自動的に追加されます。結果として Ruby コードは Java クラスを呼び出すことができます。

しかし、この Java カテゴリの設定は "IRB コンソール" の設定はできません。 (このバグレポート)を参考にしてください。理由は IRB ウィンドウで動作する JRuby は IDE の使う Java VM で動作し、余分な jar は IDE に読み込まれていないからです。

現時点では以下の回避策をつかうことができます。jar ファイルを IDE 起動ディレクトリ (platform7/lib) にコピーしてください。このディレクトリに置いた jar ファイルは IDE で使うことができます。

$ cp myjar1.jar myjar2.jar ~/my/install/netbeans/platform7/lib/

IDE を起動し、IRB ウィンドウを「ウィンドウ」>「その他」を選びます。

irb(main):001:0> require 'java'
=> true
irb(main):002:0> include_class 'foo.bar.Baz'
=> ["foo.bar.Baz"]
irb(main):003:0> puts Baz.message
I'm a String-returning-method in Java class Baz
=> nil
irb(main):004:0> 

この回避策は IRB ウィンドウにのみ動作します。プロジェクトの Java のクラスパスはプロジェクトのプロパティーダイアログで設定できます。

詳細は Getting Your Feet Wet With Java in JRuby ブログを参照してください。



Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo