🦔
Gradle プロジェクトの依存ライブラリー&ライブラリー登録
Gradle の資材管理
Gradle プロジェクトの依存ライブラリーはMaven
と同じセントラルリポジトリーからダウンロードできます。ダウンロードされた依存されるライブラリーは~/.gradle/caches/modules-2/files-2.1
にキャッシュされています。
時には、共通やFW等のライブラリーをセントラルリポジトリ(インハウスリポジトリも含め)に登録されない可能性があります。そうして、Mavenのローカルリポジトリへ登録する必要があります。
プロジェクトのJarをビルドして、Mavenのローカルリポジトリへの登録
-
build.gradle
に必要な設定を追加します。plugins { id 'maven-publish' } ... other configuration ... repositories { mavenLocal() }
-
build.gradle
に必要な設定を追加します。./gradlew clean publishToMavenLocal
プロジェクトの依存ライブラリーをGradleキャッシュからMavenのローカルリポジトリへのダウンロード
ローカルリポジトリのデフォルトパス:
~/.m2/repository
-
build.gradle
に必要な設定を追加します。Gradleの構成のパス例:
~/.gradle/caches/modules-2/files-2.1/org.springframework/spring-framework-bom/5.3.6/16d95fb49d7fa839e85a0aa37291e6f8c2e6b62b/spring-framework-bom-5.3.6.pom
parts value memo 0 org.springframework group id 1 spring-framework-bom artifact id 2 5.3.6 artifact version 3 16d95fb49d7fa839e85a0aa37291e6f8c2e6b62b cache key 4 spring-framework-bom-5.3.6.pom artifact file repositories { mavenLocal() } dependencies { // dependencies } build { finalizedBy 'cacheToMavenLocal' } task cacheToMavenLocal(type: Copy) { from new File(gradle.gradleUserHomeDir, 'caches/modules-2/files-2.1') into repositories.mavenLocal().url eachFile { List<String> parts = it.path.split('/') it.path = [parts[0].replace('.','/'), parts[1], parts[2], parts[4]].join('/') } includeEmptyDirs false }
-
ビルドコマンドを追加します。
./gradlew clean build
Discussion