jRuby позвонил в Ant не может найти драгоценные камни, что я делаю не так - PullRequest
1 голос
/ 14 марта 2011

У меня есть следующее в целевом объекте Ant:

<java jar="tools/jars/jruby-complete.jar" fork="true">
    <arg value="-r"/>
    <arg value="tools/jars/chunky_png.jar"/>
    <arg value="-r"/>
    <arg value="tools/jars/compass.jar"/>
    <arg value="-S"/>
    <arg value="compass/compass-compile.rb"/>
    <arg value="${basedir}"/>
</java>

Предположим, что пути правильные (я немного изменил их для этого примера).

Моя сборка не выполняется, потому чтоGems не может быть найден с сообщением об ошибке:

`report_activate_error': Could not find RubyGem chunky_png (~> 0.12.0) (Gem::LoadError)

Если я установлю Gems через gem, это будет работать, но я не хочу этого делать, потому что я не могу гарантировать, что будетбыть на сервере сборки.

Ответы [ 2 ]

2 голосов
/ 15 марта 2011

Проблема закончилась тем, что я неправильно создал chunky_png.jar.

Посмотрев на Драгоценные камни в банке Я заметил, что мой .jar должен содержать specificationsкаталог, который не * мой .jar.

Исправление того, как я создал .jar, решило проблему.

0 голосов
/ 14 марта 2011

В документации параметров командной строки для JRuby нет пробелов между флагом -r и библиотекой.Работает ли следующее?

<java jar="tools/jars/jruby-complete.jar" fork="true">
    <arg value="-rtools/jars/chunky_png.jar"/>
    <arg value="-rtools/jars/compass.jar"/>
    <arg value="-S"/>
    <arg value="compass/compass-compile.rb"/>
    <arg value="${basedir}"/>
</java>

Еще одна попытка - поместить архивы, содержащие ваши драгоценные камни, в путь к классам для вашей задачи java.

...