6

JRuby on Rails を使い始めたばかりで、とても気に入っています。Rails アプリの Java API 内で現在のクラスを使用する方法は知っていますが、純粋な Java コードで記述された新しいカスタム クラスを作成したい場合、Rails アプリでそれをどのように使用できますか?

たとえば、Dog.java を作成したとします。

class Dog {
  private String name;

  public Dog() {
    name = "Fido";
  }

  public String getName() {
    return name;
  }
}

Rails アプリで新しい Dog オブジェクト (Dog.new) を作成するにはどうすればよいですか? Dog.java または Dog.class ファイルをどこかに置き、何らかの形式の「インポート」を呼び出して、それを Rails アプリにインポートする必要があります。これをディレクトリ構造のどこに置くべきか、アプリにどのように含めるかをどこにどのように伝える必要があるのか​​ わかりません。

4

1 に答える 1

12

いくつかのものが必要です。

  1. クラスをコンパイルします。

    mkdir classes
    javac -d classes src/Dog.java
    
  2. Rails アプリケーションのクラスパスに追加classesします (たとえば、初期化子)。

    require 'java'
    $CLASSPATH << File.join(Rails.root, "classes")
    
  3. クラスをインポートします。

    java_import Java::Dog
    

Rails アプリの war ファイルを Warbler で作成する場合は、のオプションclassesを使用してディレクトリを war ファイルに追加することもできます。Web- INF/クラスは、Java Web アプリケーションのクラスパスに追加されます。config.dirsconfig/warble.rb$CLASSPATH

于 2010-10-12T18:09:17.850 に答える