質問

私はちょうどRailsでJrubyから始めたばかりで、絶対にそれが大好きです。 RailsアプリのJava API内で現在のクラスを使用する方法は知っていますが、純粋にJavaコードで書かれた新しいカスタムクラスを作成したい場合、Railsアプリでどのように使用できますか?

たとえば、dog.javaを作成したとしましょう。

class Dog {
  private String name;

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

  public String getName() {
    return name;
  }
}

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

役に立ちましたか?

解決

いくつかのことが必要です。

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

    mkdir classes
    javac -d classes src/Dog.java
    
  2. 追加 classes RailsアプリケーションのClassPathに(たとえば初期化)。

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

    java_import Java::Dog
    

Warblerを使用してRailsアプリの戦争ファイルを作成したい場合は、 classes を使用して戦争ファイルへのディレクトリ config.dirs オプション config/warble.rb, 、そして犬のクラスは追加する必要なく利用できます $CLASSPATH Java WebアプリケーションでWeb-INF/クラスがClassPathに追加されるJavaコンベンションのため。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top