1

我是经验丰富的 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,我错过了什么吗?

4

1 回答 1

0

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

  • 尝试卸载warblergem,然后重新安装。
于 2012-10-29T09:24:36.787 回答