JRuby on Rails:在Rails应用程序中使用自定义Java类

前端之家收集整理的这篇文章主要介绍了JRuby on Rails:在Rails应用程序中使用自定义Java类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚开始使用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应用程序的类路径中.

猜你在找的Ruby相关文章