Urumaのブランクプロジェクト名をリファクタリングするとエラー。とその解決編

Uruma 0.4.1 をリリースしました - y-komori’s diary
の通り、0.4.1がリリースされたようです。というわけで、先ほどの記事のエントリーの続き


ブランクプロジェクトをインポートして、プロジェクト名を変更すると、
起動できなくなることと、その解決への道。
面倒くさい人は最後だけ見てください。
ちなみに、eclipse3.3.2です。

公式サイトを更新していただけたようですのでそちらを参考にどうぞ

さてさて、じゃあ
org.seasar.uruma.rcp.blank
というプロジェクト名もあれなので、
GrepFinderUrumaにリファクタリングして、
起動・・・


java.util.MissingResourceException: Can't find bundle for base name urumaImages, locale ja_JP
として終了
どうやら、workbench.xmlも見つかっていないようだ。


なんだ?なんだ??
ってまぁクラスパスの問題なんだろうけど・・・・


さてさて、ログを元に差を考えると
バンドルが
org.seasar.uruma.rcp.blank
から
GrepFinderUruma
に変わってしまったのが問題のようだ


というわけで調査
ブランクのままだと、
workspace\.metadata\.plugins\org.eclipse.pde.core\Uruma-Launch_RCP-Blank\config.iniの中に、
以下記述がある。
reference\:file\:D\:/eclipse/workspace/org.seasar.uruma.rcp.blank


ここを直せばよさそうだが、こんな自分で作った記憶すらないものをベタに直すと
当然そのうち上書きされてしまうだろうし、べた書きのパスなので、汎用性が下がる。
大元をさがさなくては・・・


というわけで、実行ダイアログを開いてチェック。
構成タブの
構成エリアと、構成ファイルのデフォルトがそれっぽい。
デフォルトの内容で作成。


・・・デフォルトってどこよ??


まぁしょうがなく差分でチェック。
他に関係しそうなのは、MANIFEST.MFあたり。


プロジェクト名のリファクタリング後に、
MANIFEST.MFの
Bundle-SymbolicName
もプロジェクト名に変更されていることを確認。


config.ini
を再度チェックすると、
ちゃんと、プロジェクト名で設定されている。
問題なさそうなんだけどなぁ・・・


んで試行錯誤した結果・・・・


プロジェクト名はなんでも良いですが、
MANIFEST.MFのBundle-SymbolicNameに関しては、
convention.diconで指定したrootPackageと同一である必要があるようです。


気の利いたリファクタリングがはまりの原因とは・・・


つまり、リファクタリングでプロジェクト名を変更した場合や、
rootパッケージを変更した場合には、MANIFEST.MFを変更する必要があるようです。


ただ、サイトにある、プログラムからの画面の起動
が実行できないので、この修正が関係するのかは不明です。
StandAloneUrumaStarter uruma = StandAloneUrumaStarter.getInstance();
にてエラー。

普通にビルドパスの問題でした。
必要jarについては翌日の日記参照
画面を作ってみる。 - mokkouyou2001の日記

まだ時期尚早か・・・