Скомпилируйте jruby “Привет мировая” проблема

Я программировал некоторое время с Ruby, и я действительно наслаждаюсь им. В последнее время я начал иметь потребность компиляции некоторого кода Ruby. По нескольким причинам с помощью Ruby2exe не опция для меня. Таким образом, я решил дать Jruby попытку (генерирующий банку, будет достаточно хорошо).

Я использую окна, и я установил Java JDK 6u17 (в C:\Program Files\Java\jdk1.6.0_17).

Я установил jruby 1.4 в C:\jruby

Я создал привет мир в Java, скомпилируйте, и выполнил его очень хорошо (таким образом, 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 в локальный dir, а также несколько других опций.

Кто-либо знает то, что я делаю неправильно?

6
задан Edu 17 December 2009 в 12:36
поделиться

1 ответ

Assuming you are on windows, I think your -cp arg is wrong: it should be semi-colon delimited:

java -cp .;c:\jruby\lib\jruby.jar script

But also, I had better luck by setting the CLASSPATH env separately, e.g.:


C:\ruby>set CLASSPATH=c:\Program Files\jruby-1.4.0\lib\jruby.jar;

C:\ruby>java hello_world
Hello, world!

But perhaps that's because my classpath needs a space in it.

What version of JRuby are you using? As you can see, I'm on 1.4.

10
ответ дан 10 December 2019 в 00:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: