エンティティ (src/main) だけに Seam プロジェクトを作成し、他のプロジェクトがそれらにアクセスすることは可能ですか?
組織に同じエンティティにアクセスする 6 つのプロジェクトがあり、各プロジェクトでそれらを複製したくないという状況があります。可能であれば、どうすればそれを行うことができますか? それに関するドキュメントはどこにありますか?
ありがとう、
カテノ・ヴィリオ
あなたが正確に何を意味するかに依存します。
はい、エンティティクラスに対して個別のプロジェクトを宣言できます。およそ50のプロジェクトがあります。ほんの一握りに満たないもののうち、実際にはWARファイルとしてパッケージ化されたWebアプリケーションがあります。残りは、ユーティリティプロジェクト、サービスプロジェクト、リスナー、エンティティ、およびサーブレットフィルタで構成されています。
プロジェクトをこのように分割することには、長所と短所があります。プロジェクトに変更を加えるときはいつでも、その変更を他のプロジェクト全体に伝播する必要があります。ただし、コードが分離され、500ではなく5つのクラスに集中できるようになったため、単体テストをより簡単に記述できます。
もう1つの潜在的な欠点は、残念ながら、プロジェクト間でコードが重複しているかどうかをPMDが検出できないことです。少なくとも、その方法はまだわかりません。
コードの重複を避けるために、このパターン(分割統治/レプリケーションのリファクタリング)をかなり使用しています。