JRuby入门教程:从无到有建立第一个Hello World

开发 后端
这篇JRuby入门教程从安装JDK环境开始,介绍了建立第一个Hello World程序的步骤。

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代码
责任编辑:yangsai 来源: 博客园
相关推荐

2013-10-30 22:10:28

Clouda程序

2013-12-26 15:25:15

Android开发安装开发环境Hello World

2018-09-02 16:03:43

自动化与响应SOAR事件响应

2024-03-13 13:53:10

C++程序开发

2012-05-25 15:20:38

XNA

2009-12-18 10:59:31

ADSL宽带共享上网

2015-01-26 17:30:39

华为有线无线/华为

2021-02-01 17:29:19

FlutterHello World开发

2010-08-13 10:50:50

2023-05-19 08:49:58

SQLAlchemy数据库

2020-12-24 10:05:54

鸿蒙鸿蒙开发Hello World

2023-09-21 22:43:17

Django框架

2015-04-10 09:10:50

2022-09-13 09:54:55

工业互联网数字化转型5G

2022-04-27 10:51:00

PythonMLCubePodman

2009-07-30 13:21:17

Scala入门Hello World

2014-01-13 11:22:28

storm

2011-06-08 14:39:06

Qt 教程

2017-10-13 15:59:24

iPhone机器学习iOS

2016-08-05 12:58:44

GitLinux开源
点赞
收藏

51CTO技术栈公众号