`
java-admin
  • 浏览: 1382235 次
  • 性别: 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请教下相关问题?

相关推荐

    Ruby-JRuby一个Ruby语言的Java实现

    在JRuby中,你可以直接调用Java类库,就像调用Ruby内置函数一样简单。这对于集成Java框架,如Spring或Hibernate,或者利用Java的并发和多线程能力,都是极大的便利。同样,Java开发者也可以轻松地调用Ruby代码,实现...

    hdfs client for ruby (just jruby) hdfs客户端 基于jruby.zip

    在Ruby编程环境中,针对分布式文件系统Hadoop HDFS...通过深入研究"rhdfs-master"源代码,开发者不仅可以学习到如何使用HDFS,还能了解如何在JRuby中实现对其他Java库的调用,这对于进一步的跨平台开发具有很高的价值。

    JRuby和Rails-让Ruby语言融入于Java项目.rar

    3. **集成JRuby和Rails到Java项目**:说明如何在Java项目中配置和使用JRuby,包括添加依赖、调用Ruby代码、以及如何利用JRuby运行Rails应用。 4. **性能优化**:探讨JRuby在Java平台上的性能表现,提供优化Ruby代码...

    Java版的Ruby解释器 JRuby简介

    JRuby全面集成了Java库,这意味着Ruby代码可以直接调用Java类,就像在Java代码中使用一样。在提供的示例代码中,可以看到Ruby如何导入并使用`java.util.TreeSet`,`com.example.CallMe`,以及`com.example.ISpeaker`...

    jruby1.7.8版本呢

    JRuby 是一个开源的、高性能的 Ruby 解释器,它能够将 Ruby 代码编译成 Java 字节码,从而在 Java 虚拟机(JVM)上运行。JRuby 的出现使得 Ruby 开发者能够利用 JVM 的强大功能和丰富的库,同时也让 Java 开发者能够...

    jruby-src-1.0

    2. **Java集成**:JRuby可以直接调用Java库,反之亦然,使得Java开发者可以利用Ruby的便利性和灵活性。 3. **性能提升**:得益于JVM的优化,JRuby在某些场景下可以提供比纯解释执行的Ruby更好的性能。 4. **并发性...

    java调用脚本语言笔记(jython,jruby,groovy)

    本文将深入探讨如何在Java中调用三种流行的脚本语言:Jython、JRuby和Groovy。 ### Jython Jython是Python的一个Java实现,它允许Java开发者利用Python的强大语法和丰富的库。要使用Jython,首先需要在项目中引入...

    Java 版的 Ruby 解释器 JRuby 1.7.14 发布

    JRuby 1.7.14 版本主要致力于与 Ruby 1.9.3 的兼容性,确保在 Java 上运行 Ruby 代码时能够保持与原生 Ruby 环境相似的行为。在这个版本中,开发者修复了大量问题,包括性能优化、内存管理、兼容性修复以及对特定...

    JRuby 实战入门

    4. **JRuby与Java交互**:学习如何在Ruby代码中调用Java类,使用Java API,以及在Java中调用Ruby方法。 5. **性能调优**:了解JRuby的性能特性,如JIT编译,如何监控和优化JRuby应用。 6. **部署与持续集成**:...

    JRuby+Netbeans开发攻略之用JRuby调用JFreeChart

    现在,我们已经准备好使用JRuby调用JFreeChart。JFreeChart提供了一系列API,可以生成各种复杂的图表,包括线图、柱状图、饼图等。在JRuby中,我们需要先导入JFreeChart库,然后创建必要的数据结构,如...

    jruby-bin-1.5.5.zip java脚本编程

    3. **互操作性**:JRuby允许Ruby代码直接调用Java类库,反之亦然。这意味着你可以轻松地利用Java平台的强大功能,如数据库连接、多线程和网络编程,同时享受Ruby的简洁语法和动态特性。 4. **热部署**:由于JRuby是...

    j-monkeybars.zip(使用 JRuby 和 Swing 进行跨平台开发的源代码)

    通过分析这些源代码,开发者可以学习到如何在JRUBY中调用Java类,理解JRuby与Java之间的互操作性,例如使用`Java::JavaLang::System`来访问Java的系统类,或者使用`JRuby::JavaExtensions`来增强Ruby对象的Java功能...

    jruby_windows_1_6_4安装文件

    JRuby是一个开源的、基于Java平台的Ruby语言实现,它允许开发者在Ruby环境中使用Java类库,并且可以让Java应用程序无缝地调用Ruby代码。标题中的“jruby_windows_1_6_4安装文件”指的是JRuby的一个特定版本——1.6.4...

    jruby-core-1.7.12.zip

    4. JRuby 还可以作为 Java 代码调用 Ruby 代码的桥梁,通过 JRuby API 实现 Java 和 Ruby 之间的互操作。 关于 sbuild-https-plugin: 1. sbuild-https-plugin 是 Debian 开发者用来增强 sbuild 功能的工具,允许...

    jruby:JRuby,Ruby在JVM上的实现

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

    如何安装与配置JRuby

    保存后,在 CMD 中再次运行 `jruby HelloWorld.rb`,如果成功,会显示 "hello world",表明 JRuby 可以调用 Java 类。 **五、常见问题与解决方案** - **'cmd' 错误提示**: 如果在运行 JRuby 脚本时出现 `'cmd' ...

    ruby2java:查尔斯·纳特(Charles Nutter)的JRuby项目的分支,该项目从Ruby源代码构建Java .class文件-java project source code

    3. **JVM接口**:为了与Java环境交互,Ruby2Java需要提供一套API,使得Ruby代码能够调用Java类库,同时Java代码也能调用Ruby方法。 4. **性能优化**:项目可能会包含各种性能优化策略,比如针对特定Ruby代码模式的...

    jruby-src-1.1b1.zip

    它还提供了与Java类库的直接交互,允许调用Java方法和使用Java对象。 4. ** JRuby的安装与使用**:安装JRuby通常涉及下载JRuby的二进制或源代码包,然后通过Java环境进行配置和使用。源代码包如"jruby-src-1.1b1....

Global site tag (gtag.js) - Google Analytics