NetBeans にてパッケージ名の変更2008年12月05日 10時39分01秒

ファイル名の変更は NetBeans 外から行った方がいい。今度は、ディレクトリ名の変更を試した。つまり、java パッケージの名前の変更だ。パッケージ名の変更はファイル名の変更とは違い、NetBeans に頼ったほうが良いみたいだ。

こちらは、どうも使っている履歴管理のソフトウェアとの相性もありそうな雰囲気だった。ここらへんは、後々、他の組合せでも試してみたい。

今回は Mercurial を使っているプロジェクトだった。 取り合えず、NetBeans 内で行って何が起きるかを観察する事から始める。 なお、今回試したのは NetBeans 6.1 だ。現在、 NetBeans 6.5 が出ている。

プロジェクトのパッケージを右クリックして、「リファクタ」「名前の変更」が出る。これを使うと、ディレクトリの名前を変更し、package や import 部を書き換えてくれる。基本的には、パッケージ名の変更は、Mercurial から rename を行うより簡単だった。しかし、二つの問題があった。

一つは、NetBeans で Mercurial の commit をする時。古いディレクトリも NetBeans が削除してしまう。しかし、Mercurial はこの変更を commit 時に、古いディレクトリが存在しないと commit が失敗する。名前を変更する前のディレクトリを作成する必要があった。

二つ目は、NetBeans のコードの置換。GUI のコンポーネントが入っていたクラスのパッケージ名を変更した。その呼び出し側のコードが正しく変更されていなかった。コンパイルすればすぐに出てきて分かりやすいエラーだ。これが影響だったのかは分からないが、問題があったフィールドはカスタムの初期化を行った場所だった。