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

前端之家收集整理的这篇文章主要介绍了JRuby on Rails:在Rails应用程序中使用自定义Java类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚开始使用J Ruby on Rails并且非常喜欢它.我知道如何在我的Rails应用程序中使用Java API中的当前类,但如果我想创建一个用纯Java代码编写的新自定义类,我怎样才能在我的Rails应用程序中使用它?

例如,假设我创建了Dog.java:

  1. class Dog {
  2. private String name;
  3.  
  4. public Dog() {
  5. name = "Fido";
  6. }
  7.  
  8. public String getName() {
  9. return name;
  10. }
  11. }

我怎样才能在我的Rails应用程序中创建一个新的Dog对象(Dog.new)?我需要将Dog.java或Dog.class文件放在某处,然后调用某种形式的“import”将其导入我的Rails应用程序.我不知道这应该放在目录结构中,也不知道我应该在哪里以及如何告诉我的应用程序如何包含它.

解决方法

你需要一些东西.

>编译课程.

  1. mkdir classes
  2. javac -d classes src/Dog.java

>在Rails应用程序中添加类到类路径(例如,初始化程序).

  1. require 'java'
  2. $CLASSPATH << File.join(Rails.root,"classes")

>导入课程.

  1. java_import Java::Dog

如果你想用Warbler制作你的Rails应用程序的war文件,你也可以使用config / warble.rb中的config.dirs选项将classes目录添加到war文件中,并且Dog类将可用而无需添加到$CLASSPATH,因为Java约定将WEB-INF / classes添加到Java Web应用程序的类路径中.

猜你在找的Ruby相关文章