`
java-admin
  • 浏览: 1364895 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

Ruby学习十 JRuby中调用java代码

 
阅读更多

 

require 'java'

 

# 以下请注意要用相对路径

require 'C:/jruby-1.6.2/lib/opencsv-2.2.jar'
require 'C:/jruby-1.6.2/lib/UncompressInputStream.jar'

 

class UnCompress
  def get_input_stream(file)
    input = java.io.FileInputStream.new(file);
    if /\.gz$/ =~ file
      input = java.util.zip.GZIPInputStream.new(input);
    elsif  /\.Z$/ =~ file
      input = Java::org.amanzi.uncompress.UncompressInputStream.new(input);
    end
    input
  end

  def un_compress_file(file)
    p "start."
    input_stream = get_input_stream(file)
    character_set = java.lang.String.new("UTF-8")
    reader = Java::au.com.bytecode.opencsv.CSVReader.new(java.io.InputStreamReader.new(input_stream,character_set))
    all_line = []
    while (next_line = reader.readNext)
      all_line << next_line[0]
    end
    all_line
    p all_line
  end
end

 

2、调用java 方法时:

Java::包路径.方法名称

Java::com.dingli.test.TestJrubyCallJava()

 

3、java 打成 jar 包:

 

A. 先生成.class 文件.

B.源文件(.java) 需要带有包路径 eg:package com.dingli.test;

C.jar cvfm TestJrubyCallJava.jar mymanifest -C class/ .

 

D.class 的目录结构为:class/com/dingli/test/TestJrubyCallJava.class

 

这样打出来的jar 是带用包路径的。

 

 

 

 

  • 大小: 20 KB
  • 大小: 22.8 KB
分享到:
评论
1 楼 cyb504 2015-11-27  
考虑将rb文件代码隐藏:我先使用命令jrubyc将所有rb文件编译成class文件,再使用命令jar -cfe test.jar *.class *,将所有的class打到一个jar包test.jar中。在jruby自动化项目中,调用打包的jar包中的方法,报错不到方法的错误,请问你知道这个是原因吗?我QQ是780153365,能不能加你QQ请教下相关问题?

相关推荐

    jruby1.7.8版本呢

    jruby是一个ruby的解析器,可将ruby解析为java文件,jruby作为ruby解析器时刻调用java代码

    jruby:JRuby,Ruby在JVM上的实现

    您可以简单地将JRuby用作Ruby的较快版本,可以将其用于在JVM上运行Ruby并访问功能强大的JVM库(例如高度调整的并发原语),还可以使用它将Ruby作为脚本语言嵌入到Java程序中,或许多其他可能性。 我们是一个热情的...

    JAVA上百实例源码以及开源项目源代码

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    JAVA上百实例源码以及开源项目

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    jruby_windows_1_6_4安装文件

    jruby是从官网上downLoad的,可以在ruby程序中调用Java类库,也可以在Java程序中调用ruby类库,两者使用都相当方便,需要的可以下载尝试。

    clojruby:通过 JRuby 从 Clojure 调用 Ruby

    用法要运行一个简单的示例,从 Ruby 调用 Java 类: jruby simple.rb要运行稍微复杂一点的示例,请从 Clojure 调用相同的 Java 类: lein run -m interop.simple要运行一个非常令人兴奋的示例,请从 Clojure 调用 ...

    Pragmatic - From Java to Ruby jun 2006

    Java会不断系统脚本语言的特性,越来越简单好用,最近也不刚有JRuby的两个核心开发人员,也投奔了SUN,是不是Ruby开发者也觉得Java更有前途呢? 继续老老实实的学习Java吧,Ruby有余力可以当作另一种思维习惯。Ruby...

    java开源包8

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包10

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包1

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    ruby_vs_java_recursion:Ruby 与 Java

    ruby_vs_java_recursion Ruby vs Java:为什么世界会用 Java 更快地结束? 该 repo 显示了 Hanoi Towers 上的经典递归调用。 上有Java、JRuby、Ruby实现的比较结果

    bundler-maven-plugin:使用 jruby 和 bundler 进行混合 java 和 ruby​​ 应用程序开发的插件

    使用 jruby 和 bundler 进行混合 java 和 ruby​​ 应用程序开发的插件。 只需在系统中安装java 1.7和maven即可使用。 ##如何使用 将插件依赖添加到你的 pom.xml &lt; groupId&gt;...

    java开源包4

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包101

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包11

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包6

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包9

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包5

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包3

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

Global site tag (gtag.js) - Google Analytics