【发布时间】:2011-04-18 01:16:55
【问题描述】:
我已将自定义 gem 打包到 JRuby 脚本引用的 jar 文件中。
我收到以下错误:
org.jruby.rack.RackInitializationException:在 /Users/bhaidri/code/nextgen-ui/ 中找不到 JAR 条目 gems/sinatra-linkedin-auth-0.0.1-java/lib/sinatra/linkedin-auth.rb dist/darwin-war/exploded-war/WEB-INF/lib/linkedin-gems-0.0.1.jar
当我检查我的 jar 文件时,linkedin-auth.rb 脚本确实在正确的位置。为什么没有正确加载?
谢谢, 巴克
【问题讨论】:
-
你有更完整的踪迹吗?看起来该示例应该可以工作,但我需要了解更多关于您如何构建 war 文件和 linkedin-gems-0.0.1.jar 文件的信息。
-
嗨尼克,所以我想通了。事实证明,Tomcat 的类加载器存在一些奇怪的问题。它正在读取新 jar 的清单,以便知道 Ruby 脚本的确切路径,但实际上并没有加载 jar 的类。因此奇怪的错误信息。我重新部署应用程序还不够,我不得不重新启动 Tomcat。 Tomcat 重新启动后,一切都同步了,它确实解析了新 gem 中 Ruby 脚本的路径。