2010-04-07 59 views
0

我一直在閱讀鶯的源代碼,我無法弄清楚jruby-jar和jruby-rack jar是如何在servlet classpath上結束的?應該如何使用warbler將jruby-jar和jruby-rack添加到類路徑中?

似乎鶯將它們複製到web-inf/gems/gems/<gemname>/lib/<jarname>.jar但它們不在類路徑中。

我猜如果我把它們放在我的ruby應用程序的lib /文件夾中,它們會被複制到web-inf/lib並且一切都會好起來的,不過,看起來有點奇怪,戰爭檔案,這是我的意思?

回答

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

如果你也看見一個東西,那麼這是一個錯誤。另外,您不必在JRuby jar文件gem中顯式聲明依賴關係。

+0

你是對的!我發現我的錯誤,我從一個GHS部署的例子複製了warble.rb文件,最後一行是清除java_libs,因此lib /中沒有libs :-)感謝您的幫助! 破碎的例子在這裏http://gist.github.com/91801#file_warble.rb – 2010-04-07 11:46:51