Jruby Rails独立war文件ClassNotFoundException

时间:2012-10-29 03:06:20

标签: ruby-on-rails jruby war

我是经验丰富的ROR开发人员,但对JRuby来说是新手。 我试图在Jruby中创建Rails应用程序,然后使用Warbler制作可执行的WAR文件。

$warble executable war

它创建了一个WAR文件,但是当我试图通过

运行它时
$java -jar myapp.war

它只是抛出了这个错误。

error: java.lang.ClassNotFoundException: winstone.Launcher

我在Ubuntu上使用JRuby 1.6.8的RVM,我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

Warbler在执行warble executable war时会为您下载此依赖项,因此在该阶段一定会出现问题。这可能是一个较小的bug,你使用的是什么版本?

以下是一些线索:

  • 是否在~/.m2/repository/org/jenkins-ci/winstone下载了winstone jar?
  • 您的战争中是否正确包装了网络服务器?

    jar tvf your.war | grep webserver.jar

  • 通过编辑config/warble.rb中的warbler配置并添加:

    来尝试其他服务器

    config.server = 'jetty'

    (如果您还没有配置,请运行warble config;这会创建config/warble.rb

  • 尝试卸载warbler gem并重新安装。