一、確定安裝環境
在安裝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為止,尚未發現異常:)。