JRuby on Rails: использование пользовательских классов Java в приложении Rails
Я только начал с JRuby на рельсах и абсолютно люблю его. Я знаю, как использовать текущие классы в Java API в моем приложении Rails, но если бы я хотел создать новый пользовательский класс, написанный в чисто Java-коде, как бы я мог использовать его в своем приложении Rails?
например, предположим, я создал собаку.java:
class Dog {
private String name;
public Dog() {
name = "Fido";
}
public String getName() {
return name;
}
}
Как я смогу создать новый объект Dog (Dog.новое) в моем приложении Rails? Мне нужно положить собаку.Ява или собака.файл класса где-то, а затем вызвать некоторые форма "импорт", чтобы импортировать его в моих Rails приложение. Я понятия не имею, куда это должно идти в структуре каталогов, и я не знаю, где и как я должен сказать своему приложению, как включить его.
1 ответов
вам понадобится пара вещей.
-
скомпилировать класс.
mkdir classes javac -d classes src/Dog.java
-
добавить
classes
к пути к классам в вашем приложении Rails (например, инициализатор).require 'java' $CLASSPATH << File.join(Rails.root, "classes")
-
импортировать класс.
java_import Java::Dog
если вы хотите сделать файл войны вашего приложения Rails с Соловьем, вы также можете добавить classes
каталог в файл войны с помощью на config/warble.rb
, и класс Dog будет доступен без необходимости добавлять в $CLASSPATH
из-за соглашения Java, что WEB-INF/classes будут добавлены к пути к классам в веб-приложении Java.