マルチモジュール プロジェクトで初めて Gradle を使用していますが、そのような取り組みのために依存関係管理を行うための正しい/最善の方法について何らかのコンセンサスがあるかどうか疑問に思っていました。私が知る限り、2 つのアプローチがあり、最初のアプローチの方が広く受け入れられているようです。それは次のようになります: ]
-- MyProject
---- settings.gradle
---- build.gradle
---- coreProject
---- servicesProject
------ servicesSubProject
---- warProject
---- common
このアプローチに従って、すべての管理は単一の build.gradle ファイルで行われ (他の外部 .gradle ファイルを使用してさまざまなアーティファクトを定義できます)、個々のプロジェクトの依存関係は、次のようなそれぞれの「プロジェクト」定義セクションで管理されます。
project('servicesProject:servicesSubProject') {
dependencies {
compile project(':common')
compile spring.data
compile spring.framework.persistence
compile spring.framework.security
compile persistence.hibernate.core
compile persistence.postgresql
}
}
別の方法は、次のようにサブプロジェクトごとに build.gradle ファイルを作成することです (ここでは、サブプロジェクトの依存関係はそのプロジェクトの build.gradle ファイルの依存関係セクションにあります)。
-- MyProject
---- settings.gradle
---- build.gradle
---- coreProject
------ build.gradle
---- servicesProject
------ build.gradle
------ servicesSubProject
-------- build.gradle
---- warProject
------ build.gradle
---- common
------ build.gradle
私が言ったように、私が読むことができたものから、最初のアプローチは2番目のアプローチよりも広く使用されているようです. Spring Framework gradle ファイルはこのようにセットアップされます。ただし、それを全力で進める前に、トレードオフやその他の注意すべき影響があるかどうかを確認する必要があると考えました。ご意見ありがとうございます。