JRuby 1.1が Spring Frameworkで使えない
最新の JRubyを Springから使ってやろうとしたら、
java.lang.NoSuchMethodError:
org.jruby.Ruby.parse
(Ljava/lang/String;Ljava/lang/String;Lorg/jruby/runtime/DynamicScope;I)Lorg/jruby/ast/Node;
とか言われて使えなかった。どうやらJRuby側で 1.1からAPIが随分変わったそうだ。Springが JRuby1.1に対応するには 3.0まで待てだと。
仕方ないので JRuby 1.0.3を使うことにした。
そしたら今度は
org.jruby.exceptions.RaiseException: superclass must be a Class (Module) given
というエラー。勘弁してください。
Springのフォーラムで同じ悩みを抱えている人が一人だけいた。
JRuby 1.0以降を使う場合、ドキュメントに書いてある例どおりにRubyクラスにJava側のインターフェイスを継承させるとエラーになってしまうようだ。何も継承していないクラスを記述したところ解決。
でもRubyで記述した文字列リテラルに日本語の文字が含まれていると化けて出てきてしまった。UTF-8以外の文字コードが介在していない環境で、この手の問題が起こるのはむしろ最近じゃ珍しいと思うのだが。
というわけで、Springの lang:jrubyで日本語を通すに続く。
java.lang.NoSuchMethodError:
org.jruby.Ruby.parse
(Ljava/lang/String;Ljava/lang/String;Lorg/jruby/runtime/DynamicScope;I)Lorg/jruby/ast/Node;
とか言われて使えなかった。どうやらJRuby側で 1.1からAPIが随分変わったそうだ。Springが JRuby1.1に対応するには 3.0まで待てだと。
仕方ないので JRuby 1.0.3を使うことにした。
そしたら今度は
org.jruby.exceptions.RaiseException: superclass must be a Class (Module) given
というエラー。勘弁してください。
Springのフォーラムで同じ悩みを抱えている人が一人だけいた。
JRuby 1.0以降を使う場合、ドキュメントに書いてある例どおりにRubyクラスにJava側のインターフェイスを継承させるとエラーになってしまうようだ。何も継承していないクラスを記述したところ解決。
でもRubyで記述した文字列リテラルに日本語の文字が含まれていると化けて出てきてしまった。UTF-8以外の文字コードが介在していない環境で、この手の問題が起こるのはむしろ最近じゃ珍しいと思うのだが。
というわけで、Springの lang:jrubyで日本語を通すに続く。

0 件のコメント:
コメントを投稿
<< ホーム