src/main/Java
フォルダーに加えて、主なソースに必要な生成されたJavaソース。コード生成が呼び出されます手動、必要に応じて生成されたソースはチェック済みソースリポジトリにあります。すべてがビルドおよびパックされます一緒に。
生成されたJava sourcesがメインソースと一緒にコンパイルされるのに最適な場所はどこでしょうか?
/src/generated/Java
(統合テストではsrc/testInt/Java
と同じ命名ロジックに従います)/generated-src/main/Java
(と衝突)「srcディレクトリには、プロジェクトをビルドするためのすべてのソースマテリアルが含まれています」)/src/main/generated-Java
(まあ... generated-Java
は型ではありません)最初のオプションは、この場合に最も適切なオプションのようです。どう思いますか? Maven docsには、この状況を説明するものがありますか?同様の構造を持つレポを知っていますか?
ありがとうございました。
@ Absurd-Mindが示唆するように、私たちが考えている方向は、ソースをサブモジュールに分割することです(これはGradleでうまく機能します)。そのため、生成されたソースと他の関連ソースは独自のサブモジュールに入り(別のアーティファクトを生成します)、残りはこのサブモジュールを使用する他のサブモジュールに入ります。ありがとうございました。
場所は、ソースがどのように生成され処理されるかに依存すると思います。
ソースコードはビルドプロセス中に自動的に生成されます:その後、target/main/Java/
、target/test/Java/
などを使用します。このコードは、簡単に再構築できるため、CVSにチェックインされません。プロジェクトをクリーンアップする場合、target
ディレクトリが削除され、ソースが再構築されます。
ソースコードは外部ツールまたは同様のものによって手動で生成されます:generated/src/main/Java/
、generated/src/test/Java/
、generated/src/main/resources/
などを使用します。このコードはチェックインする必要があります。最上位のディレクトリ名がgenerated
であることがすぐにわかると、以下のすべてのファイル/ディレクトリも生成されることがわかります。また、最上位ディレクトリの下に標準のmavenディレクトリ構造があります。もう1つのポイントは、他の多くのディレクトリ(例のようにsrc/main/generated-Java
およびsrc/test/generated-Java)を調べることなく、generated
を削除して再作成するだけで、クリーンアップが簡単であるということです。
[〜#〜] edit [〜#〜]:別の素敵な解決策は、myproject-generated-1.0.3.jar
のような生成されたソースのみを含むMavenプロジェクトを作成することです。このプロジェクトは、実際のアプリケーションの依存関係になります。次に、生成されたソースint src/main/Java
を配置します。
私が知っている限り、生成されたソースには標準のフォルダ構造はありません。私のプロジェクトでは、src/gen/Java
表記法の種類。
src/main/Java
、src/main/resources
内のMavenプロジェクトソースファイルストア、およびsrc/test/Java
内のテストクラスストア。
Mavenで生成されたコード(コードのコンパイル)でtarget/
フォルダーに保存されます。
Mavenプロジェクトをビルドすると、生成されたすべてのコードがターゲットフォルダーで更新されます。