問題タブ [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 投票する
2 に答える
428 参照

ruby-on-rails - JRuby - Warbler does not preserve symbolic links

When packaging the application using warbler, the symbolic links are lost and the actual contents the symlink points to are packaged as part of the WAR.

In my case, I have a symlink from public/images/upload to /var/myproject/upload. After I deploy the war in tomcat, in the exploded folder public/images/upload has all the contents of /var/myproject/upload copied to it instead of linking to the folder.

UPDATE: My questions is "will warbler retain the symbolic links inside the project when deployed as a war?"

Environment Info:

jruby 1.6.2 (ruby-1.8.7-p330) | warbler 1.3.1 | Cent OS 5.5 | Java SE "1.6.0_26"

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

rubygems - Bundler を使用してローカルの ruby​​ gem をパッケージ化しますか?

社内で作成した gem を使用するプロジェクトに取り組んでいます。rubygems.org や github ではホストされていません。しかし、リポジトリとローカル マシンのパスにはそれがあります。

Gemfile には、次のようなものがあります。

jRuby を使用してデプロイするために、warbler gem を使用して .war ファイルを作成できるように、すべての gem をパッケージ化しようとしています。

「bundle install」や「bundle install --local」などを実行して、すべての gem が確実にインストールされるようにしたいと考えています。次に、Gemfile で指定されたすべての依存関係をバンドラーに取得させ、「bundle package」コマンドを使用してそれらを vendor/bundle に入れます。

しかし、このリンク (http://gembundler.com/man/bundle-package.1.html) に基づくと、バンドラーは :path または :git をソースとして指定した gem をパッケージ化できないようです。

誰かがこれを回避する方法を見つけましたか?

ローカルにあり、git リポジトリの一部ではない、または ruby​​gems.org で利用可能な gem を「バンドル」するにはどうすればよいですか?

ありがとう。

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

jruby - Warbler を使用する場合、JRuby WAR に db ディレクトリが含まれないのはなぜですか?

シンプルな「hello」タイプの JRuby アプリケーションを作成し、Warbler を使用して WAR を起動し、JBoss にデプロイしました。ただし、アプリケーションを使用すると、次のエラーが発生します。

ActiveRecord::JDBCError (The driver encountered an unknown error: java.sql.SQLException: path to '/opt/jboss/server/ruby/tmp/deploy/tmp8791905909469840942demo-exp.war/WEB-INF/db/production.sqlite3': '/opt/jboss/server/ruby/tmp/deploy/tmp8791905909469840942demo-exp.war/WEB-INF/db' does not exist):

確かに、demo.war ファイルを掘り下げると、WEB-INF ディレクトリに db ディレクトリがありません。db ディレクトリは app ディレクトリに存在しますが、テスト、開発、および本番データベース ファイルと一緒に存在します。

何か案は?

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

ruby-on-rails - JRuby/Jetty デプロイメントのために ChiliProject で warble を使用しようとするとエラーが発生する

ChiliProject (Redmine フォーク、Rails 2.3 アプリ) で warbler を使用して、Java Jetty Web サーバーにデプロイしようとしています。しかし、プロジェクトのルート フォルダーで warble を実行すると、次のエラー メッセージが表示されて失敗します。

JRuby 1.6.3、JDK 1.6、warbler 1.3.2、および ChiliProject 2.2.0 を使用しています。

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

ruby - 複数の実行可能ファイルを含むウグイス

私はwarblerを使用して、rubyプロジェクトを実行可能な.jarファイルにパッケージ化しています。私のプロジェクトのRakefileには、複数のruby実行可能ファイルをリストしています。ただし、warblerを使用してjarをビルドすると、実行時に最初の実行可能ファイル(Rakefileにリストされている)のみが起動されますjava -jar myjar.jar。これに対する私の現在の回避策は、ユーザーの選択に基づいて他のスクリプトに委任する1つのランチャースクリプトをプロジェクトのbinフォルダーに置くことです。これをウグイスで行うより良い方法はありますか?

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

jruby - .war から rake タスクを実行する

warbled rails プロジェクトから rake タスクを実行することは可能ですか?

私は JBoss に展開されたゆがんだレール プロジェクトを持っています。バックグラウンドでメーラーを実行する必要があります。それを行う最良の方法は何ですか?

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

ruby-on-rails - JRuby / RailsをGlassfishにデプロイする:Bundler:Moduleの未定義のメソッド `bundle_path'

アプリにアクセスしようとすると、Glassfishログに次のエラーが表示されます。

ログを見ると、次のことがわかります。

warbleがBundlergemを.warファイルに確実に入れていることを確認しました。

(ruby 1.9、rails 3.1、glassfish 3.0および3.1を使用)

これは、glassfishログにも表示されます。

ただし、server.policyでアクセス許可が付与されていることを確認しました。

編集:パーミッションの問題を修正しましたが、最初の2つのエラーが解決しません。(とはいえ、許可の問題により、特に編集しないように指示されているファイルを編集する必要がありました。Glassfishのserver.policyでこのアクセス許可を付与しようとしても機能しませんでした)。

Glassfishログファイルからの関連する環境情報は次のとおりです:https ://gist.github.com/1245825

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

ruby - tomcat で war をデプロイするときの Ruby バージョンの不一致

Rvm を使用しており、jruby-1.6.4 (ruby 1.9.2 を使用) をインストールしています。warbler を使用して war ファイルを作成し、tomcat-6.0.4 にデプロイします。

問題は、アプリケーションを実行しているときに、Tomcat ログに 1.8.7 として使用されている Ruby バージョンが表示されることです。

rvm リストから ruby​​ のバージョンを確認したところ、正しいバージョン (1.8.7) が表示されました。

jruby をダウングレードして 1.8.7 を使用すると (JRUBY_OPTS=--1.8.7 を使用すると、アプリケーションは魅力的に動作します)

ruby バージョン 1.9.2 が tomcat で確実に使用されるようにする方法についてのアイデア

ヴィベク

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

tomcat - JRuby:Warbler:Tomcat:RailsヘルパーがWAR拡張サフィックス付きのベースURLを取得しない

「abc.war」にパックされたJRuby/Railsアプリをデプロイしていますが、同じTomcatインスタンスの「def.war」にパックされたJavaアプリでデプロイされています。

Railsアプリケーションに「Blogs」というリソースがあり、routes.rbに次のエントリがあります。

このroutes.rbのエントリには、blogs_path()などのヘルパーが含まれているため、次のようなステートメントを使用できます。

アプリケーションビューファイルで、生成されたリンクをクリックすると、ブログのリストが表示されます。

このアプリケーションをWebrickWebサーバー(Ruby1.9で構成されたJRuby1.6.4、およびRails 3.0.10)とスタンドアロンで実行すると、http:// localhost:3000/blogsがブログのリストを取得するときに正常に動作します。そのリンクをクリックします)。「http://funky-freddy-101.heroku.com」などの別のベースサーバーURLにアプリをデプロイする場合、Railsは自動的に計算するため、「blogs_path」でコードを変更する必要はありません。ベースURLを出力し、blogs_path()コードは、「blogs_path」によって生成された実際のURLを構築するときにそれを考慮に入れます。

ファイル「abc.war」のJRuby/Tomcatにアプリをデプロイすると、ベースURLがhttp:// localhost:3000 "から"http:// localhost:8081 / abc "に変更されます。したがって、「http://ブラウザの「localhost:8081 / abc / blogs」でブログのリストが表示され、「http:// localhost:8081 / blogs」で404エラーが表示されます。ただし、問題は、アプリケーションのベースURLがWARファイル名のサフィックス(つまり「abc」)が含まれますRailsはそれを取得していないため、blogs_path()が呼び出されたときにURLとして「http:// localhost:8081/blogs」を生成します。リンクをクリックすると、標準のTomcat404ページが表示されます。

Railsに参照「abc」の接尾辞が付いたベースURL、WARファイルの名前を取得し、JRuby / Tomcatデプロイメントで適切にURLを生成する簡単な方法はありますか?また、このアプリケーションはdef.warと一緒に実行されているため、ルートアプリにすることはできません。

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

ruby-on-rails - ウグイスと tomcat でコンテキストが正しく設定されていない

Warbler によって生成された war ファイルを使用して、Rails アプリを Tomcat にデプロイしようとしています。war ファイルは問題なく /myproject-rails-gui にデプロイされますが、アプリのページにアクセスしようとすると、次のようになります。

relative_url_root を設定しようとすると失敗します。relative_url_root は非推奨であり、代わりに RAILS_RELATIVE_URL_ROOT 環境変数を設定する必要があることを (正しく) 指摘している他の Stack Overflow 記事があります。

GitHub の Rails プロジェクトから

ただし、Warbler と Tomcat を使用してそれを行う方法を理解することはできませんでした。助言がありますか?価値があるのは、アプリをルート コンテキストで実行すると正常に動作することです。

私の環境:

  • ウグイス 1.3.2
  • トムキャット 7.0.22
  • JRuby 1.6.5
  • レール 3.0.10