JDKを5→6にしたらEclipseでDaoのテストだけエラーになった

事象

Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.text.normalizer.NormalizerImpl

といわれて、derbyの接続ができない。

http://forums.java.net/jive/message.jspa?messageID=223834

↑に書かれているようにもう一度JDK6、JRE6を入れなおしてみる。
JRE5をアンインストールするときに再起動しろといわれたけどしなかったし、
後で気づいたんだけど、Eclipseのゾンビプロセスが生き残ってたりしたので、
もう一度やり直したほうがいいよね。

やり直したけど...

関係ないな。

解決!

まったく同じパスでEclipseJRE登録するとだめらしい。
どこかにキャッシュがあるのかな。
JAVA_HOME2というリンクも作ってそっちに切り替えてみたら、テストが通った。

どうも

[ウィンドウ>設定]で、アンインストールしたJREの設定を削除した後、適用ボタンを押さずに、そのまま新しく同じパスにインストールしたJREの設定を追加すると、色々と必要なところが更新されずにエラーになる。

ということっぽい。
はしょりすぎたか。


JAVA_HOME2を追加して、JAVA_HOMEをいったん削除。
TEST⇒OK
JAVA_HOMEを新たに追加して、デフォルト設定。
TEST⇒OK
JAVA_HOME2を削除。
TEST⇒OK

となった。