【问题标题】:Jruby Rails standalone war file ClassNotFoundExceptionJruby Rails 独立战争文件 ClassNotFoundException
【发布时间】:2012-10-29 17:24:36
【问题描述】:
我是经验丰富的 ROR 开发人员,但对 JRuby 不熟悉。
我正在尝试在 Jruby 中创建 Rails 应用程序,然后使用 Warbler 制作可执行的 WAR 文件。
$warble executable war
它创建了一个 WAR 文件,但是当我尝试运行它时
$java -jar myapp.war
它只是抛出这个错误。
error: java.lang.ClassNotFoundException: winstone.Launcher
我在带有 RVM 的 Ubuntu 上使用 JRuby 1.6.8,我错过了什么吗?
【问题讨论】:
标签:
ruby-on-rails
jruby
war
【解决方案1】:
Warbler 在执行warble executable war 时会为您下载此依赖项,因此在该阶段一定出现了问题。这可能是一个莺的错误,你使用的是什么版本?
这里有一些线索:
- winstone jar 是在
~/.m2/repository/org/jenkins-ci/winstone下下载的吗?
-
网络服务器是否正确打包在您的战争中?
jar tvf your.war | grep webserver.jar
-
通过编辑 config/warble.rb 中的 warbler 配置并添加以下内容来尝试不同的服务器:
config.server = 'jetty'
(如果你还没有配置,运行warble config;这会创建config/warble.rb)
- 尝试卸载
warbler gem,然后重新安装。