Jruby on Rails:RailsアプリでカスタムJavaクラスを使用する
-
29-09-2019 - |
質問
私はちょうど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アプリにインポートする必要があります。これがディレクトリ構造のどこに行くべきかわからないことも、アプリをどのように含めるかをどこでどのように伝えるべきかを知りません。
解決
いくつかのことが必要です。
クラスをコンパイルします。
mkdir classes javac -d classes src/Dog.java
追加
classes
RailsアプリケーションのClassPathに(たとえば初期化)。require 'java' $CLASSPATH << File.join(Rails.root, "classes")
クラスをインポートします。
java_import Java::Dog
Warblerを使用してRailsアプリの戦争ファイルを作成したい場合は、 classes
を使用して戦争ファイルへのディレクトリ config.dirs
オプション config/warble.rb
, 、そして犬のクラスは追加する必要なく利用できます $CLASSPATH
Java WebアプリケーションでWeb-INF/クラスがClassPathに追加されるJavaコンベンションのため。
所属していません StackOverflow