【问题标题】:Is it possible to compile a Rails app to a Java VM JAR file?是否可以将 Rails 应用程序编译为 Java VM JAR 文件?
【发布时间】:2008-09-24 18:51:12
【问题描述】:

基本上我唯一可以部署到我的部署机器的是一个 JAR 文件。我无法安装 JRuby,也无法安装 Glassfish 或 Tomcat。

是否可以将 Rails 应用程序(包括 Rails,当然是供应商的)打包到 JAR 文件中,这样我就可以做到

c:\my_server> java rails_app.jar

并让它在 JVM 中运行 WEBRick 或 Mongrel?

【问题讨论】:

  • 据我所知,您将需要 JRuby 来执行此操作......但您可能只包含 JRuby jar(而不是安装它)。
  • 你有没有得到这个工作?我即将开始,但如果其他人已经弄清楚了......
  • 不 - 放弃并寻求完全非 Ruby 的解决方案。

标签: java ruby-on-rails ruby jruby


【解决方案1】:

一年前我写了一篇文章,介绍如何将您的 ruby​​ 源代码与 jruby 以及您想要的所有其他内容嵌入到一个 jar 文件中,然后使用“java -jar myapp.jar”运行它。

我猜它需要一些工作才能使其启动,但应该不会太难。借助他们 wiki 上的免费 jruby 文档,我想您可以使用这种技术相当轻松地运行 jetty+war。

文章在这里: http://blog.kesor.net/2007/08/14/jruby-in-a-jar/

【讨论】:

    【解决方案2】:

    我建议您结帐 Jetty。 Embedding Jetty 的过程非常简单,应该可以从当前的 jar 文件中为其提供 servlet。不过,我没有使用过 Ruby/Rails,所以我不确定那里是否有任何并发​​症。

    通常是否可以将所有 rails 模板/模型嵌入到 war 文件中的 jar 中,以便在 Tomcat 上部署?如果是这样,那么您应该能够让嵌入式 Jetty 从您的单个 jar 中拉出它。

    【讨论】:

      【解决方案3】:

      这可能有点过时了,但 Nick Sieger,不久前的 JRuby 贡献者之一wrote about warbler

      Warbler 是关于将 Rails 应用程序打包到 .war 文件中。现在我不是 Java 大佬,所以我不确定你的 .jar 限制来自哪里。 war 文件类似于 jars,但它们适用于整个网站或其他东西。

      最坏的情况,我很确定JRuby wiki 有一些关于打包 Rails 应用程序以在 Java 架构上运行的状态。了解这方面的信息符合他们的最大利益。

      【讨论】:

        【解决方案4】:

        我认为您不能在 JVM 中运行 Mongrel。尝试在没有 Tomcat 或 Jetty 的情况下运行任何类型的网络服务器可能比它的价值要麻烦得多。 jsight 的回答看起来对这个问题很有帮助。如果你能做到这一点,这里是 JRuby 网站上关于运行 JRuby on Rails in Tomcat 的页面。

        【讨论】:

          【解决方案5】:

          您可能想尝试在 JRuby 邮件列表/论坛 (http://xircles.codehaus.org/lists/user@jruby.codehaus.org) 上提出这个问题。

          Glassfish 邮件列表是另一个有人会做同样事情的地方

          你可能想做的另一件事是捆绑winstone可嵌入servlet容器和jruby和rails,并使用jarjar创建一个大jar。您也许可以构建一个 ant 构建文件来构建这样一个 BIG jar,其中还包含您的 rails 应用程序。使用这种方法的一个项目是 hudson(https://hudson.dev.java.net/)——你可能会得到一些关于如何去做的信息。

          BR,
          ~A

          【讨论】:

          • 我建议使用 one-jar 而不是 jarjar,因为 jarjar 会爆炸 jars 并压缩类。一罐使罐子完好无损。
          【解决方案6】:

          我今天刚看到这个博客,我打算试一试,如果有人告诉我

          http://matthewkwilliams.com/index.php/2010/03/02/rails-jruby-in-a-jar/

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-04-12
            • 2012-02-26
            • 1970-01-01
            • 2020-01-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多