2012-03-23 18 views
0

私のコードベースは当初rubyで書かれていました。 db移行を実行するファイルはrakefile.rbでした。私は後で、うまく動作する配備の容易さのために、すべてをjrubyに変更しました。私が直面している問題は、rakeタスクを実行して(dbマイグレーションを実行する)方法だけです。warファイル内からrakeタスクを実行しています

私は1バージョンであることを

java -jar GV_S.war -S rake db_migrate[1] 

を試してみましたが、これは動作しませんでした。

これは私を与えた:

[Winstone 2012/03/23 18:04:56] - Beginning extraction from war file 
[Winstone 2012/03/23 18:04:56] - WARNING: The Servlet 2.4/2.5 spec XSD was unavailable inside the winstone classpath. Will be retrieved from the web if required (slow) 
[Winstone 2012/03/23 18:04:56] - No webapp classes folder found - /tmp/winstone6913591014121608835webroot/GV_S.war/WEB-INF/classes 
[webapp 2012/03/23 18:04:57] - jruby 1.6.7 (ruby-1.9.2-p312) (2012-02-22 3e82bc8) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_26) [linux-amd64-java] 
[Winstone 2012/03/23 18:05:03] - Listener winstone.ajp13.Ajp13Listener not found/disabled - ignoring 
[Winstone 2012/03/23 18:05:03] - Listener winstone.ssl.HttpsListener not found/disabled - ignoring 
[Winstone 2012/03/23 18:05:03] - Winstone Servlet Engine v0.9.10 running: controlPort=disabled 
[Winstone 2012/03/23 18:05:03] - HTTP Listener started: port=8080 

すべてのヘルプは、「このまだウグイスでサポートされていないようです

-Thanks

答えて

0

最後に、これはだった私は、最初の生産に私の個人的なマシン上で正常に動作しますが、私に以下のメッセージのようなものを与えていた

java -jar lib/jruby-complete-1.6.7.jar -S rake db_migrate[1] 

を試してみました

rake aborted! 
cannot load Java class com.mysql.jdbc.Driver 

Tasks: TOP => db_migrate 
(See full trace by running task with --trace) 

....働く何かを見つけました私のレーキの仕事の中で後編やロガーなどの宝石を使っていたので...私は自分のマシンにインストールされているものの、生産マシンにはインストールされていません...それらの宝石をプロダクションにインストールすることはオプションではありませんでした.... rakeタスクで必要な宝石を別のディレクトリに入れて変換そのjarファイル(http://blog.nicksieger.com/articles/2009/01/10/jruby-1-1-6-gems-in-a-jar)...このコマンドは最終的に働いていた...

java -jar lib/jruby-complete-1.6.7.jar -rlib/mygems.jar -S rake db_migrate[1] 

へのポイントに注意する:あなたはjarファイルを置くに関係なく、ウグイスはいつもあなたがlibディレクトリにこれを送ってしまう元の場所にダミーのjarファイルが残っています... これを試していないにもかかわらず、解決策がいくつかの方法でうまくいけば、もっときれいになるかもしれないと思います...

i>上記のブログで述べたjruby-complete-1.6.7.jar自体のgemファイルも含まれています。

java -jar lib/jruby-complete-1.6.7.jar -S rake db_migrate[1] 
01その後、動作するはず

...この問題が発生した場合

II> mygems.jarにマニフェストファイルのいくつかの種類を書いて、それを含めることは、独立して、この実行を行うことによって、...

java -jar myapp.jar -S rake db_migrate[1] 

が動作するはずです

0

を理解さでしょう - 実行JRubyのスタイルcommads実行ファイルの.jarで動作しますが、 .warを実行可能にすると、埋め込みWebサーバでのみ実行できます。それ以外は何もありません。

+0

こんにちはkaresさん、ありがとうございました....この問題の解決策があるようです... http://blog.dberg.org/2009/10/run-dbmigrate-in- jruby-without-rails.html ....それはそれらが私の場合で働いていないということだけです:(....同様の問題に直面している人もいます.... – azi

+0

java -jar jruby-complete-1.6。 7.jar - SILKE db_migrate [1]が私に与えるもの: メインクラスのマニフェスト属性のロードに失敗しました jruby-complete-1.6.7.jar – azi

関連する問題