我使用 Ruby 编程已经有一段时间了,我真的很喜欢它。最近我开始需要编译一些 ruby 代码。由于多种原因,使用 Ruby2exe 对我来说不是一个选择。所以我决定尝试一下 Jruby(生成一个 jar 就足够了)。
我使用的是 Windows,并且安装了 java JDK 6u17(位于 C:\Program Files\Java\jdk1.6.0_17)。
我在 C:\jruby 安装了 jruby 1.4
我用java创建了一个hello world,编译并执行它就很好(所以java工作正常)。
我创建了一个文件“script.rb”:
puts "Hello, world"
我用 jruby 运行这个程序:
jruby script.rb
而且效果很好。
我确实将 JAVA_HOME 设置为 C:\Program Files\Java\jdk1.6.0_17
我也成功运行:
java -jar c:\jruby\lib\jruby.jar script.rb
然后我使用以下命令进行编译:
jruby -S jrubyc script.rb
它生成类“script.class”
我的问题是我找不到正确执行 script.class 的方法
I try:
java -cp .:c:\jruby\lib\jruby.jar script
我收到错误消息:
Exception in thread "main" java.lang.NoClassDefFoundError: script
Caused by: java.lang.ClassNotFoundException: script
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: script. Program will exit.
我还尝试将 jruby-complete-1.4.0.jar 以及其他几个选项复制到本地目录。
有人知道我做错了什么吗?