Как JRuby разрешает пути gem в файле jar?

Я упаковал пользовательский драгоценный камень в файл jar, на который ссылается сценарий JRuby.

Я получаю следующую ошибку:

org.jruby.rack.RackInitializationException: запись JAR gems/sinatra-linkedin-auth-0.0.1-java/lib/sinatra/linkedin-auth.rb не найдена в /Users/bhaidri/code/nextgen-ui/dist/darwin -война/взорванная-война/WEB-INF/lib/linkedin-gems-0.0.1.jar

Когда я проверяю свой jar-файл, скрипт linkedin-auth.rb действительно находится в нужном месте. Почему он не загружается правильно?

Спасибо, Бак


person Baq Haidri    schedule 28.09.2010    source источник
comment
У вас есть более полный след? Похоже, пример должен работать, но мне нужно больше узнать о том, как вы создали файл war и файл linkedin-gems-0.0.1.jar.   -  person Nick Sieger    schedule 28.09.2010
comment
Привет, Ник, так что я понял это. Оказывается, с загрузчиком классов Tomcat происходят какие-то странные проблемы. Он читал манифест нового jar-файла, чтобы знать точный путь к Ruby-скрипту, но на самом деле не загружал классы jar-файла. Таким образом странное сообщение об ошибке. Мне было недостаточно переразвернуть приложение, мне пришлось перезапустить Tomcat. Как только Tomcat был перезапущен, все синхронизировалось, и он разрешил путь к скрипту Ruby в новом геме.   -  person Baq Haidri    schedule 29.09.2010


Ответы (1)


Если кто-то столкнется с такой ситуацией, попробуйте перезапустить Tomcat. Это решило проблему для меня.

person Baq Haidri    schedule 29.09.2010