問題タブ [warbler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
389 参照

java - jruby/warbler jar ファイルのパスを取得する方法

JRuby と Warbler を使用してパッケージ化するアプリケーションを構築しています。私の問題は、現在実行中の jar ファイルのパスを、Java を記述せずに取得したいということです...

0 投票する
1 に答える
615 参照

ruby-on-rails - war ファイルとしてデプロイされた JRuby/Rails アプリの context-root の値を取得する方法

JRuby でビルドされた Rails アプリケーションがあり、warbler によって生成された war ファイルとして JBoss にデプロイされています。

私たちのビューでは、次のような link_to 呼び出しがあります。

ただし、次のように設定しcontext-rootましjboss-web.xmlた。

最終的な結果は、war ファイルを JBoss にデプロイした後、値で指定されたプレフィックスが含まれていないため、上記のリンクが壊れていcontext-rootます。

context-rootリンクを修正できるように、JRuby/Rails からこの値を取得する方法はありますか?

0 投票する
1 に答える
374 参照

ruby-on-rails - パス名のダブル ポンド (##) は JRuby の「require」では機能しませんか?

そこで、JRuby on Rails アプリを Tomcat 7 にデプロイしようとしています。すべて正常に動作します。

コンテキスト/戦争名がname##VERSION.war.

##JRubyは、パスに が含まれるファイルを初めて要求しようとしたときに、次のスタックトレースを使用してチョークします。

スタック トレースが示すように、require で爆発しているようです。JRuby はこの形式のパスを扱えないのでしょうか? この問題を回避する方法はありますか、それとも JRuby と Tomcat の命名規則の間の根本的な競合ですか?

アップデート

Tomcat にデバッガーを接続しましたが、問題は java.net.URL が URL 文字列を解析する方法にまで及びます。

これは MalformedURLException で爆発します。しかし:

##001これは、アプリケーション名の を除いて同一であり、正常に動作します。

ちなみに、これらはJRubyのorg.jruby.runtime.load.LoadServiceの1145行目で呼び出されます。

それで、これの影響は何ですか?一つには、Tomcat が名前を示すために使用する文字の選択を十分に考慮していないように見えます。JRuby がこれを簡単に回避できるかどうかはわかりません。

考えている人はいますか?

さらに更新

ハッシュを URL エスケープすると、機能させることができます。## は %23%23 になります。ただし、これは JRuby 自体にパッチを適用する必要があると思います。

0 投票する
1 に答える
708 参照

sinatra - Warbler で jRuby 1.9 Sinatra アプリを作成すると起動に失敗する

Tomcat で戦争としてホストする単純な Sinatra アプリがあります。ワーブルしてTomcatで実行すると、すべて正常に動作します。ウォーブル設定で Ruby 1.9 フラグを設定した場合

config.webxml.jruby.compat.version = "1.9"

その後、戦争は実行されず、Tomcat ログにこのエラーが表示されます

mysinatraapp.rb ファイルは戦争中なので、なぜ見つからないのかわかりません。jruby のコマンド ラインから実行するだけでアプリが正常に動作するので、私のコードと 1.9 との互換性の問題ではないと思います。これらの行を web.xml から削除するだけでも

アプリの起動を正常にします。

私のjarのバージョンはjruby-core-1.6.5.1.jar jruby-rack-1.1.3.jar jruby-stdlib-1.6.5.1.jarです

0 投票する
1 に答える
276 参照

tomcat - JRuby Resqueプロセスをwarファイルとしてデプロイするには?

WAR ファイルとしてデプロイされ、Tomcat アプリケーション サーバーで実行される JRuby/Rails アプリケーションがあります。Rails アプリケーションで使用されているのと同じ ActiveRecord サブクラスを介してデータベースを通過する長時間実行ジョブを実行するためのツールとして、delayed_job または Resque のいずれかを使用したいと考えています。また、アプリケーションの Web 側が遅く感じられないように、別のプロセスまたはスレッドで実行したいと考えています。

delayed_job または Resque を含めて使用する手順は非常に明確です。たとえば、Resque を使用するためにすべての面倒な作業を行ったら、次のことを行うだけです。

ただし、これはコマンドラインからのみ機能します。WAR ファイルを Tomcat にデプロイして Resque プロセスを実行できるようにするにはどうすればよいですか? その場合、構成が異なる同じ WAR ファイルですか、それとも WAR ファイルが異なりますか? それが別の WAR ファイルである場合、どのように生成すればよいですか? Resque/DJ プロセス用に別の Tomcat が必要ですか? Resque/DJ プロセスを独自の JRuby/JVM スレッドに入れる方法はありますか? これを実現するために必要な構成のジガリー・ポケリーはありますか?

0 投票する
2 に答える
1082 参照

tomcat - JRubyがインストールされておらず、Javaのみを使用しているJRuby/Tomcatデプロイメントで、ResqueアプリでRuby/Railsを実行する方法は?

JRuby/Rails Web アプリケーションがあります。rbenv と JRuby を使用してローカルでテストし (「rails サーバー」を使用)、動作します。また、製品版を WAR ファイルとして配布し、Tomcat で実行します。そのマシンには JRuby がインストールされていません。できます。Resque と Redis を使用して長時間実行されるジョブを処理できるようにする必要があります。Resque/redis をローカルにインストールし、コマンドラインから Resque を次のように実行しました。

できます。パラメータを出力するだけの小さなワーカー クラス (FooClass) を作成し、Resque によって呼び出され、実行することでリクエストをキューに入れることができます。

Rails コンソールで、Resque は最終的にリクエストを処理し、[1,"4"] を出力します。

この Resque Rake タスクを Tomcat/Java 環境 (JRuby がインストールされていない環境) で実行できるようにしたいと考えています。Resque Rake タスクを実行するには 3 つのオプションがあります。

  1. Tomcat 内で実行しますが、別の Java スレッドで実行します。ワーカー プロセスを強制終了して再起動できるようにしたいので、これは避けたいと思います。
  2. コマンド ラインから実行し、起動時に etc/init.d によってそのコマンドが呼び出されるようにします。
  3. Web アプリとは別の Tomcat で実行します。

私のワーブラーは、次のファイルがアプリケーション WAR ファイルに存在するように構成されており、Tomcat がアプリを起動すると、webapps/WEB-INF から webapps/abc/WEB-INF に展開されます。

ファイル config/warble.rb は次のようになります。

ファイル lib/tasks/resque.rake には

私の gemfile には次の行が含まれています。

Web で検索すると、JRuby を使用せずに (WEB-INF/ 内から) Rake タスクを実行する次の方法が見つかりました。

結果は

ただの楽しみのために、私は試しました

結果は

次に、jruby-complete-1.6.4 をそのディレクトリにダウンロードしてみました。

この時点で、私は完全に途方に暮れています。サーバーに JRuby をインストールせずに、目的の Resque Rake タスクを Java/Tomcat または Java 環境で実行するにはどうすればよいですか?

0 投票する
1 に答える
398 参照

ruby-on-rails - ウグイス付きのベンダー/サブモジュールの宝石

これはどのように行うことができますか?これが私の最善の努力です:

パスで gem を指定します。これにより、次の警告が発生します。

アプリはほとんど起動し、次のエラーが発生します。

さまざまな程度のくだらない他のアイデア: - ワーブリングの前に .git を削除/名前変更する - github にデプロイし、git: オプションを使用します。これを試してみましたが、ブランチのように見えるため問題があります: オプションが読み取られませんでした。掘り下げませんでした。- 事前に宝石をこっそり入れておきましょうconfig.gem_path = "WEB-INF/vendor/bundler_gems"

0 投票する
1 に答える
322 参照

tomcat - jruby tomcat bundler aws -- 「要件の解決」スタックが深すぎる

Rails 3.1.3 アプリのバンドルされた war ファイルを amazon Beanstalk インスタンス (追加の管理ソフトウェアを備えた amazon ec2 です) にデプロイしようとしています。

アプリが起動すると、これが吐き出されます:

アイデア?ありがとう

0 投票する
1 に答える
308 参照

ruby-on-rails - image-pathscssヘルパーを相対URLにポイントする方法

私のアプリの本番インスタンスは相対URLで実行されています:http://server/app_domain/

image-path/assets/image1234.pngscssヘルパーは、に解決するものを指しています

http://server/assets/image1234.png

それ以外の

http://server/app_domain/assets/image1234.png

アプリケーションのルートURLを設定するための構成はありますか?image-pathが生成する../assets/image1234.pngか、/app_domain/assets/image1234.png

prod/uatのデプロイにJRuby/warbler/JBossを使用しています。

ありがとうございました

0 投票する
0 に答える
131 参照

ruby-on-rails-3 - ウグイスはfasterscsvについて不平を言う

ウグイスを使用してアプリを jar に変換しようとしています。

私は jruby 1.6.6 と rails 3.2 アプリを持っています。

ウォーブルを実行すると、次のようになります。