在Ruby on Rails应用程序中重用Java代码 - 编程入门网
了 tar 归档实用程序的本地 Java 实现,当与 java.util.zip 包相结合时,它可以处 理 .tar.gz 文件。它还利用 Java 语言的平台独立性,可以不作修改地在所有 UNIX® 变体和 Windows 上运行。作为练习,您将使用它来解压一个样例 tar 文件的内容。通过类似的方法,可以在 Ruby on Rails 应用程序中使用任 何遗留 Java 代码。
练习的目标是: 将 tar.jar 文件装载到一个 Rails 应用程序中。 将 JAR 文件所需的类装载到应用程序中。 解压使用这些类的样 例 test.tar 文件的内容。 入门 获取样例文件 首先,需 要为系统获取样例 tar 文件(test.tar)和 Java Tar 包: 将 test.tar 下载并保存 到一个方便的位置。 下载和保存 javatar- 2.5.tar.gz。 将 javatar-2.5.tar.gz 的内容解压到一个方便的位置。 这个练习中,这个包中惟一需要用到的文件是 tar.jar,它在 jars 目录中。 访问共享库 RJB 使用 Java Native Interface (JNI) 实现它的 功能。因此,它需要访问 JDK 安装中附带的一些共享对象文件(共享库)。您 必须使用以下命令将这些文件的位置添加到 LD_LIBRARY_PATH 环境变量中:
如果打算在独立的 Ruby 脚本中使用 RJB,那么只需在正在处理的 shell 中 设置这些环境变量。对于您的 Ruby on Rails 应用程序,还必须在 Rails 应用 程序的 environment.rb 文件中设置这些变量。 将 RJB 装载到 Rails 应用程序 要将 RJB 装载到 Rails 应用程序并将它设置为可以调用 Java 类,需要执 行两个步骤: 告诉 Ruby 将 rjb 库包含到代码中。 装载 JVM,设置类路径和其他可选的 JVM 参数。 首先,使用下面的命令初始化 RJB: require ''rjb'' 接着,将 Rails 应用程序中将要使用的所有 legacy .jar 文件 — 本例中 为 tar.jar — 添加到 classpath 变量: Rjb::load(classpath = ''.:/path/to/tar.jar'', jvmargs=[]) 可以将 jvmargs 留空,除非希望为 JVM 指定额外的参数。 现在,可以将准备使用的 Java 类导入到 Ruby 中,实例化这些类,并调用 所需的方法。 在Ruby on Rails应用程序中重用Java代码(3)时间:2010-12-03 IBM Santhosh Krishnamoor将 Java 类导入到 Ruby 并实例化 清单 1 中的 Ruby 代码从 tar.jar 包中导入了需要的 Java 类,并从导入 的类中创建了 Ruby 对象: 清单 1. 将 Java 类导入到 Ruby 并实例化
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |