2008年11月7日金曜日

Redmine on GlassFish - 2

昨日のエントリの続きです。


最後にひっかかった「インデックスが長すぎて rake aborted! 」の原因は、どうやら MySQL のバグ(というか仕様?)にあったようです。
MySQLではインデックスは最大767バイトまでということになっているらしく、文字セットがutf-8だとバイト数が増えてそれをオーバーしてしまうのだとか。

原因は分かったものの、あちこち検索してみてもRedmineに絡めてその対応策を説明しているサイトが見つかりません。悩んだ末、とりあえずrakeが中断するところまでmigrationを進めておいて、その状態でMySQLのコンソールから、

alter table changeset set character set latin1;

という荒技を使ってみました。

これが正しいやり方なのかどうかはわかりませんが、これでようやく rake db:migrate が最後まで動くようになりました :-)


さて、DBの準備も整ったのでいよいよアプリケーションを起動してみよう…ということで、

jruby script/server

でWEBRickを起動。
http://localhost:3000 にアクセスしてみたところ、今度はこんなエラーが…


-------------
C:/Software/jruby-1.1.5/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:100:in `require_or_load'
C:/Software/jruby-1.1.5/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:60:in `depend_on'
C:/Software/jruby-1.1.5/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:442:in `require_dependency'
C:/Software/jruby-1.1.5/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:141:in `prepare_application'
C:/Software/jruby-1.1.5/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:178:in `run_callbacks'
C:/Software/jruby-1.1.5/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:175:in `each'
C:/Software/jruby-1.1.5/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:175:in `run_callbacks'
C:/Software/jruby-1.1.5/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:114:in `dispatch'
C:/Software/jruby-1.1.5/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:126:in `dispatch_cgi'
C:/Software/jruby-1.1.5/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:9:in `dispatch'
C:/Software/jruby-1.1.5/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:112:in `handle_dispatch'
C:/Software/jruby-1.1.5/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:78:in `service'
C:/Software/jruby-1.1.5/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
C:/Software/jruby-1.1.5/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
C:/Software/jruby-1.1.5/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
:1:in `start'
-------------------------

うーん、なんだかよく分かりませんが、何らかのモジュールの読み込みに失敗している?
自分の間違いなのかJRubyが悪いのか判断に迷ったので、思い切ってCRubyで動かしてみることにしました。

JRuby側のWEBrickを一旦とめて、

ruby script/server

でもう一度サーバを起動し、祈るようなキモチで http://localhost:3000 にアクセス。


今度は無事動きました!










デフォルトの管理者ユーザでログインしてユーザ情報を変更し、ついでにプロジェクトの新規作成などにもチャレンジしてみましたが、特に問題なく動くみたい。
CRubyでちゃんと動くということは、原因はJRubyサイドにあるのでしょうか…(それとも私が何かとんでもないポカをやらかしている?)


ともあれ、ひとまずRedmineのインストールはなんとか完了しましたので、次はいよいよRedmine on GlassFish にチャレンジしてみたいと思います(が、上記のエラーの原因がJRubyだとしたら動かないような気も…)。

0 件のコメント: