我一直在用Ruby編程一段時間,我非常喜歡它。最近我開始需要編譯一些ruby代碼。由於幾個原因,使用Ruby2exe不適合我。所以我決定給Jruby一個嘗試(生成一個jar就足夠了)。編譯jruby「Hello world」問題
我使用的是Windows,我安裝了java JDK 6u17(在C:\ Program Files \ Java \ jdk1.6.0_17)。
我在安裝到C的JRuby 1.4:\ JRuby的
我用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
我嘗試:
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複製到本地目錄以及其他幾個選項。
任何人都知道我在做什麼錯?
非常感謝這個問題。我一直在尋找如何做到這一點:'jruby -S jrubyc腳本。rb',但所有我能找到的是ruby2java頁面(http://kenai.com/projects/ruby2java/pages/Home),這意味着不得不在Ruby中使用類,即使這樣我得到了這兩個錯誤** 1 ** http://kenai.com/jira/browse/JVMSCRIPT-7 ** 2 ** http://kenai.com/projects/ruby2java/lists/issues/archive/2009-09/message/0 – atomicules 2010-01-21 14:51:57