12

基本的に、展開マシンに展開できるのは JAR ファイルだけです。JRuby をインストールできません。Glassfish や Tomcat もインストールできません。

私ができるように、Rails アプリケーション (もちろん、ベンダーの Rails を含む) を JAR ファイルにパッケージ化することは可能ですか?

c:\my_server> java rails_app.jar

JVM内でWEBRickまたはMongrelを実行していますか?

4

6 に答える 6

9

1年前に、rubyソースにjrubyとその他すべてを1つのjarファイルに埋め込み、「java-jarmyapp.jar」で実行する方法についての記事を書きました。

ブーツレールにするのに少し手間がかかると思いますが、それほど難しくはないはずです。そして、彼らのwikiにある無料のjrubyドキュメントを使用すると、この手法でjetty+warをかなり簡単に実行できると思います。

記事はここにあります:http: //blog.kesor.net/2007/08/14/jruby-in-a-jar/

于 2008-09-24T19:25:58.503 に答える
6

Jetty をチェックアウトすることをお勧めします。Jettyを埋め込むプロセスは驚くほど簡単で、現在の jar ファイルからサーブレットを渡すことができるはずです。ただし、Ruby/Rails は使用したことがないので、問題があるかどうかはわかりません。

Tomcat にデプロイするために、すべての Rails テンプレート/モデルを war ファイル内の jar に埋め込むことは通常可能ですか? もしそうなら、埋め込まれた Jetty を取得して、単一の jar からもプルできるはずです。

于 2008-09-24T18:56:10.400 に答える
3

少し古いかもしれませんが、JRuby 寄稿者の 1 人である Nick Sieger が少し前にウグイスについて書いています。

Warblerとは、Rails アプリを .war ファイルにパッケージ化することです。今、私はJavaの大物ではないので、.jarの制限がどこから来たのかわかりません。war ファイルは jar に似ていますが、Web サイト全体または何かのためのものです。

最悪の場合、 JRuby wikiには、Rails アプリを Java アーキテクチャーで実行するためのパッケージ化の状態について何らかの情報があると確信しています。それについての情報を持つことは、彼らの最大の関心事です。

于 2008-09-25T02:32:07.043 に答える
1

JVM 内で Mongrel を実行できるとは思えません。Tomcat や Jetty を使用せずに、あらゆる種類の Web サーバーを実行しようとするのは、おそらく無駄な作業です。jsightの答えは、その問題に役立ちます。ここまでできれば、Tomcat で JRuby on Rails を実行する方法に関する JRuby のサイトのページを参照してください。

于 2008-09-24T19:10:53.500 に答える
1

JRuby メーリング リスト/フォーラム ( http://xircles.codehaus.org/lists/user@jruby.codehaus.org )でこの質問をしてみてください。

誰かが同じことをしたであろう別の場所は、glassfish メーリング リストです。

さらに別の方法として、winstone の埋め込み可能なサーブレット コンテナーと jruby とレールをバンドルし、jarjar を使用して 1 つの大きな jar を作成することもできます。ant ビルド ファイルをビルドして、Rails アプリケーションも含むこのような BIG jar をビルドできる場合があります。このアプローチを使用したプロジェクトの 1 つに hudson( https://hudson.dev.java.net/ ) があります。これを行う方法についての情報が得られる場合があります。

BR、
~A

于 2008-09-24T20:14:17.077 に答える
0

今日、このブログに出くわしました。他の誰かが私に知らせてくれたら、試してみるつもりです

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

于 2010-10-07T02:29:56.573 に答える