我一直在阅读莺源代码,但我无法弄清楚 jruby-jars 和 jruby-rack jars 是如何最终出现在 servlet 类路径上的?
似乎莺正在将它们复制到web-inf/gems/gems/<gemname>/lib/<jarname>.jar
但它们不在类路径上。
我猜如果我把它们放在我的 ruby 应用程序 lib/ 文件夹中,它们会被复制到 web-inf/lib 并且一切都会好起来的,但是,在 war 文件中有 2 个 jar 副本似乎很奇怪,是那我该做什么?
本
我一直在阅读莺源代码,但我无法弄清楚 jruby-jars 和 jruby-rack jars 是如何最终出现在 servlet 类路径上的?
似乎莺正在将它们复制到web-inf/gems/gems/<gemname>/lib/<jarname>.jar
但它们不在类路径上。
我猜如果我把它们放在我的 ruby 应用程序 lib/ 文件夹中,它们会被复制到 web-inf/lib 并且一切都会好起来的,但是,在 war 文件中有 2 个 jar 副本似乎很奇怪,是那我该做什么?
本
它们应该被复制到 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 文件 gems 的依赖关系。