一、确定安装环境
在安装JRUBY之前,首先要确定本机上的JDK版本。如果使用的是jruby 1.1.1,那么可以使用jdk 1.4(来自网络,未亲自证明),但是如果使用的是jruby 1.1.2,那么JDK的版本最好是1.6。JDK1.5的话可能会有部分早期版本不支持,具体的版本对应关系我没有一个个去证明,因为这其实是挺繁琐的,也没找到文档。
二、版本获取
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_HOME指向你的解压目录。然后在PATH中增加/jruby-1.1.2/bin,
JDK的安装与配置就不说了,网上一搜一大堆。
四、验证安装正确
进入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文件,将最后一行代码注释掉,修改后的代码如下:
rem endlocal & cmd /c exit /b %E%
然后再在CMD命令行或ECLIPSE中运行时,就会发现那个报错信息没有了,该方法截止到2008-6-29为止,尚未发现异常:)。