gpt4 book ai didi

tomcat - JRuby war 依赖/环境问题

转载 作者:行者123 更新时间:2023-11-28 22:30:32 25 4
gpt4 key购买 nike

我有一个用 Ruby 编写的基于 Sinatra 的应用程序,它是使用 warbler 打包的。生成的文件在我的本地笔记本电脑 (Tomcat 7.0.50) 和沙箱主机 (Tomcat 6.0.35) 上运行良好。然而,在 prod box 上这场 war (完全相同的文件 - 重新部署并用 md5sum 重新确认)显示以下错误:

org.jruby.rack.RackInitializationException: No such file or directory - file:/opt/apache-tomcat-6.0.35/webapps/blah/WEB-INF/lib/gems.jar!/gems/mail-2.5.4/lib/mail/../VERSION
from org/jruby/RubyIO.java:3741:in `read'
from org/jruby/RubyIO.java:3920:in `read'

Prod box 具有完全相同的 JVM 和 Apache 版本(通过当前在 Linux 中启动的进程重新确认)。

当我解压缩 gems.jar 文件时,我可以看到请求的 VERSION 文件已就位,因此这不是打包问题。

这场 war 还取决于什么?

让我很困惑的是,它在不同的配置(我的笔记本电脑)上工作,但在相同的配置(沙盒和产品)上却不工作。

我正在使用 JRuby 1.7.5。

最佳答案

暂时不要将 gems 打包到 .jar 中,它会更好地反射(reflect) FS 的期望 - __FILE__File.expand_path 等不时会出现问题。 .jar 中的用法

附注在最新的 JRuby 1.7.10 中也可能有针对此问题的修复,但如果不是简单地禁用 Warbler 中的 gemjar 功能,那么 .war 确实包含原样的 gems(不打包在另一个 jar 中) .

关于tomcat - JRuby war 依赖/环境问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21229305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com