JRuby入门教程:从无到有建立第一个Hello World
创始人
2024-04-17 09:31:33
0

JRuby入门教程·确定安装环境

在安装JRUBY之前,首先要确定本机上的JDK版本。如果使用的是jruby 1.1.1,那么可以使用jdk 1.4(来自网络,未亲自证明),但是如果使用的是jruby 1.1.2,那么JDK的版本***是1.6。JDK1.5的话可能会有部分早期版本不支持,具体的版本对应关系我没有一个个去证明,因为这其实是挺繁琐的,也没找到文档。

JRuby入门教程·版本获取

JRUBY的下载:http://dist.codehaus.org/jruby/jruby-bin-1.1.2.zip

JAVA 1.6下载:http://192.18.108.239/ECom/EComTicketServlet/BEGIN31DA9601C7CEF4A95D66372DE469CD8C/-2147483648/2617791231/1/877946/877778/2617791231/2ts+/westCoastFSEND/jdk-6u5-oth-JPR/jdk-6u5-oth-JPR:2/jdk-6u5-windows-i586-p.exe

java 1.6中文API:http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/publish/1.6.0/chm/JDK_API_1_6_zh_CN.CHM

(这个文档貌似也是拿翻译软件直接翻译过来的)

JRuby入门教程·安装与配置:

JRUBY的安装相当简单,首先将下载的压缩包解压到任意目录,然后在环境变量中增加JRUBY_HOME指向你的解压目录。然后在PATH中增加/jruby-1.1.2/bin,

JDK的安装与配置就不说了,可参考这篇文章。

JRuby入门教程·验证安装正确

进入CMD命令行,输入jruby -v,输出结果应该如下:

ruby 1.8.6 (2008-05-28 rev 6586) [x86-jruby1.1.2] 'cmd' 不是内部或外部命令,也不是可运行的程序或批处理文件。

我一直很郁闷***那个提示信息是怎么回事……

输入HELLO WORLD:

在C盘根目录下新增一个HelloWorld.rb文件,有记事本编辑该文件,输入如下内容:

puts "Hello world"

保存后退出,然后在CMD中输入jruby HelloWorld.rb,回车,此时输出结果应该能看到HelloWorld,这样安装就完成了。

然后我们再尝试用JRUBY调用JAVA的类,修改刚才的HelloWorld.rb文件,修改内容如下:

require 'java' include_class("java.lang.System") System.out.println("hello world") 修改后保存退出,进入cmd命令行,执行如下命令: jruby HelloWorld.rb 输出结果应该实现hello world,证明jruby已经可以调用JAVA类的方法了。但是目前的问题是还不知道如何调用自定义的JAVA类
切记,如果使用jruby-1.1.2,一定不要使用JDK 1.4,如果运行JRUBY程序的时候提示找不到main方法,或者org.ruby.main未定义这样的问题,多半是版本不一致的问题导致的。我个人的建议是,如果使用jruby-1.1.2,那么***安装jdk 1.6;如果使用的不是jruby-1.1.2,那么***换成是jruby-.1.1.2

备注:关于脚本运行的输出结果中***那一行错误提示:

'cmd' 不是内部或外部命令,也不是可运行的程序或批处理文件。

我偶然发现能用以下方法解决:进入jruby的目录下的bin目录,将其中jruby.bat文件名修改为任意,然后再在cmd命令行下执行ruby脚本时,这个错误提示就不显示了,暂时还没搞懂是为什么。

基本上JRuby入门需要知道的东西就是这些。***个Hello World就此完成。

【编辑推荐】

  1. Jython和JRuby,以及Groovy:Java平台的统一认识模型
  2. JRuby 1.3.0 RC1发布 加强对GAE支持
  3. JRuby中调用java带可变参数的方法
  4. 使用Java Web Start部署JRuby应用
  5. 使用JRuby生成JVM代码

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...