Я давно программирую на Ruby, и мне это очень нравится. В последнее время у меня появилась необходимость компилировать некоторый код ruby. По нескольким причинам использование Ruby2exe для меня не вариант. Поэтому я решил попробовать Jruby (достаточно было бы создать банку).
Я использую Windows и установил java JDK 6u17 (в C: \ Program Files \ Java \ jdk1.6.0_17).
Я установил jruby 1.4 на C: \ jruby
Я создал hello world в 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 в локальный каталог, а также некоторые другие опции.
Кто-нибудь знает, что я делаю не так?