2012-03-01 11 views
4

私は大きなモノリシックWebアプリケーションを使用しています。パッケージ構造は、今、私はcom.companyname.projectリファクタリング/再構成ツールfor Java

以下のパッケージ名としてインスタンスbookingのために使用した場合

- com.companyname.project 
    - dao 
    - bean 
     - booking // possibly containing more sub packages 
     - core 
     ... etc etc (there are a bunch of others as well) 
    - service 
     - booking // possibly containing more sub packages 
     - core 
     ... etc etc 
    - logic 
    - bean 
     - booking // possibly containing more sub packages 
     - core 
     ... etc etc 
    - service 
     - booking 
     - core 
     ... etc etc 
    - web 
    - bean // same substructure as above... 
    - service // same substructure as above... 
    - taglib // same substructure as above... 
    - util 

私はそれをしたいと思います:最初のステップとして、私は現在のように見えるパッケージ階層を変更したいですたとえば、私のためにリストラを行うための単純な正規表現を使用できるツールがあるのだろうかと思っています。

など。
com.companyname.project.dao.bean.booking
はなる:
com.companyname.project.booking.dao.bean

com.companyname.project.dao.service.booking
はなる:
com.companyname.project.booking.dao.service

私は、Eclipseを使用してパッケージをドラッグアンドドロップが、私は何かを探しています可能性がありそれは非常に反復的なものになるので、私の負担の最小限でこれを行うことができます。

+6

... あなたのために右のそれを行うか、しない場合があり、これらの自動化ツールが付属して不安ではなく、変更されているものこの質問を書くのではなく、Eclipseで作業を始めました。今半分は完了しています。 –

+1

@ErickRobertson私を信頼してください...私はしません; –

+0

@エミールhこれにはどんな解決策が見つかりましたか? – user1283633

答えて

1

あなたはリファクタリングの互換性を使用してJava IDEのいずれかを使用できます。

  • のIntelliJ IDEA(最高のリファクタリングのサポート)。それはオープンソースのコミュニティ版とクローズドソースの究極のエディションがあります。
  • のEclipse(オープンソース)
  • NetBeansの(オープンソース)

私はそれはエラーが発生しやすくなりますので、置き換え/正規表現検索を使って、あなたをお勧めしません。

+0

私はこれに対して正規表現を使用しません。しかし、私はそれが好きです。例えば、eclipseでのリネームのリファクタリングがregexpをとり、名前の変更にそれを使うことができれば嬉しいです。 –

-1

なぜJava自体を使用しないのですか?私はあなたの現在のシナリオを信じて、あなたが話している正確なリファクタリングを行い、途中で何も見逃していないことを保証する小さなJavaプログラムを簡単に書くことができます。

"pre"(つまり "com.companyname.project.dao.bean.book.booking")と "post"(つまり "com.companyname.project.booking.dao.bean")を取るメソッドを書くことができます"pre"構造を適切に "post"構造にコピーします。

このプログラムでは、mainメソッドと "convertPackage(pre、post)"メソッドを想定しています。あなたはあなたの "前"と "ポスト"構造の配列を持っていて、それらを新しいものに変換することでループすることができます。このコピーを何らかの一時ディレクトリにコピーして、安全性を高める手段としてオリジナルと混乱させないのが最善です。

私の考えはこれでは単純すぎるかもしれませんが、私はこのリファクタリングを1/2日以内に行うためのプログラムを見ることができました。

あなたはを知るの追加利益を得るでしょう正確にあなたが持っていた場合

関連する問題