2010-04-07 5 views
0

Я читал исходный код warbler, и я не могу понять, как jruby-jars и jruby-rack jars должны заканчиваться на пути класса сервлетов?Как добавить jruby-jars и jruby-rack в classpath с помощью камышевки?

Кажется, что warbler копирует их в web-inf/gems/gems/<gemname>/lib/<jarname>.jar, но они не находятся на пути к классам.

Я предполагаю, что если я поместил их в свою рубинскую папку lib/folder, они будут скопированы в web-inf/lib, и все будет хорошо, однако кажется странным иметь 2 копии фляги в военный файл, это то, что я должен делать?

Бен

ответ

1

Они должны быть скопированы в WEB-INF/Lib/.jar. Код для размещения банок здесь:

http://github.com/nicksieger/warbler/blob/master/lib/warbler/config.rb#L216-220

И код, который копирует их в WEB-INF/Lib здесь:

http://github.com/nicksieger/warbler/blob/master/lib/warbler/war.rb#L68-70

Если вы видите что-то другое, то это ошибка. Кроме того, вам не нужно явно указывать зависимости от jar-файлов JRuby.

+0

Право вы! Я нашел свою ошибку, я скопировал файл warble.rb из примера для развертывания GHS, и в последней строке была очистка java_libs, поэтому нет libs в lib/:-) Спасибо за вашу помощь! Разбитый пример был здесь http://gist.github.com/91801#file_warble.rb –