我刚开始使用J
Ruby 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文件放在某处,然后调用某种形式的“import”将其导入我的Rails应用程序.我不知道这应该放在目录结构中,也不知道我应该在哪里以及如何告诉我的应用程序如何包含它.
解决方法
你需要一些东西.
>编译课程.
mkdir classes javac -d classes src/Dog.java
>在Rails应用程序中添加类到类路径(例如,初始化程序).
require 'java' $CLASSPATH << File.join(Rails.root,"classes")
>导入课程.
java_import Java::Dog
如果你想用Warbler制作你的Rails应用程序的war文件,你也可以使用config / warble.rb中的config.dirs选项将classes目录添加到war文件中,并且Dog类将可用而无需添加到$CLASSPATH,因为Java约定将WEB-INF / classes添加到Java Web应用程序的类路径中.