我刚开始使用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应用程序的类路径中.