注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭州 QA Team

务实 专注 分享 做有态度的QA

 
 
 
 
 

日志

 
 

RJB的探索  

来自网络拾荒者   2011-08-29 10:23:19|  分类: 质量保障平台 |举报 |字号 订阅

  下载LOFTER 我的照片书  |
直入主题,首先介绍下RJB :

RJB is a bridge software. It connects Ruby and Java  (摘至http://rjb.rubyforge.org/)

顾名思义 RJB作为Ruby 与 Java之间的桥做着中间件的作用,在Ruby下可以通过Rjb来实现调用java的包

这极大的丰富了ruby的库文件

安装Rjb

先说下我的环境: windows xp , ruby 1.8.6 ,jdk1.6

1.安装jdk

rjb要求jdk版本>1.4 配置好jdk环境变量class_path (注意:配置环境变量时最后千万别加分号) 

2.选择rjb版本

http://rubyforge.org/frs/?group_id=2010&release_id=6285

rjb现在最新版本为1.3.5 但跟ruby1.8.6无法兼容 会出现无法找到链文件的错误,所以果断放弃

最终选择版本为1.3.0

在windows下无法使用gem来直接安装,所以先下把文件下载到本地

用命令安装 gem install *.gem (*.gem为本地文件路径)

3.安装成功后测试

在irb下打入如下命令

RJB的探索(1) - 网络拾荒者 - 网络拾荒者

 

如果出现跟上图所示,恭喜你安装rjb成功了

注:有些人可能会出现java虚拟机错误的提示 请查看下你的java环境变量是否正确

说完RJB的安装,来讲讲RJB的使用
先举个例子
  require 'rubygems'
  require 'rjb'
 Str = Rjb::import('java.lang.String')
 st = Str.new("abc")
 p st.toString


这段代码很简单,就是通过RJB来调用java中的String包来生成一个字符串
但还是有很多东西可以关注下
首先 要使用RJB必须要先引入 require 'rjb' 在有些环境下可能光引入这个还不够 还得先引入 require 'rubygems'
 然后看看 Rjb::import('java.lang.String') 它做的操作就是调用java中的String包并返回 <Rjb::Java_lang_String>类型
在通过它的new方法来生成String类型变量 st 但要注意的是这个String类型是ruby的String 而不是 java的String
我们可以打印出类型来看看  Rjb::Rjb_JavaProxy 


type names at J2SE's Class#getName API documentation as arrays's encoded element type names

type nameencoded name
booleanZ
byteB
charC
class or interfaceLclassname;
doubleD
floatF
intI
longJ
shortS
  评论这张
 
阅读(393)| 评论(3)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016