RUBY學習之旅(四):JRUBY的hello world

來源:互聯網
上載者:User

 

一、確定安裝環境

在安裝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為止,尚未發現異常:)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.