Я пытаюсь использовать Rawr, чтобы превратить простой 3-файловый проект Ruby в исполняемый файл для запуска в Ubuntu. Я запустил jruby -S rawr install
, чтобы создать Rakefile и настроить макет каталога. Все мои .rb
файлы находятся в каталоге src
в корне проекта. Когда я запускаю jruby -S rake rawr:jar
, он компилирует все файлы Ruby и прекрасно создает банку. Затем он помещает его в мой каталог deploy
вместе с lib/java/jruby-complete.jar
.
Я пытаюсь выполнить банку изнутри deploy
с java -jar hg_analyzer.jar
. Однако, когда я делаю это, меня приветствует эта ошибка:
Exception in thread "main" <script>:1:in `require': Linkage error loading compiled script; you may need to recompile 'file:/home/marcw/Documents/hg_analyzer/deploy/jar/hg_analyzer.jar!/main.class': java.lang.NoClassDefFoundError: org/jruby/ast/executable/AbstractScript$RuntimeCache (LoadError)
from <script>:1
...internal jruby stack elided...
from Kernel.require(<script>:1)
from (unknown).(unknown)(:1)
Я также пытался запустить его как java -cp lib/java/** -jar hg_analyzer.jar
, но безрезультатно. Запись Class-Path
в файле манифеста банки также выглядит хорошо. main.rb
является основным файлом Ruby.
Запуск java с опцией -verbose
показывает, что означает , обнаружив JAR-файл jar и загружая его из ожидаемого места.
Есть идеи?