web-dev-qa-db-ja.com

Gradle jarによってコンパイルされたjarファイルを、MavenリポジトリではなくローカルのGradleリポジトリファイル2.1にインストールする方法

私のbuild.gradleで、プラグインを追加しました:

apply plugin: 'maven'

次に、「gradle install」を使用して、結果のjarをMavenリポジトリにコピーできます:〜/ .m2/repository

ただし、私のGradleリポジトリは〜/ .gradle/caches/modules-2/files-2.1にあります。 jarをこのリポジトリにインストールするにはどうすればよいですか?

12
Alex

私のために働いたのはgradle install -Dmaven.repo.local=the/path/of/the/folder

どのIDEを使用しているのかわかりませんが、Eclipseでは新しい実行構成を追加でき、Gradleのタスクではinstallを追加し、プログラムの引数では-Dmaven.repo.local=the/path/of/the/folder

7
ddarellis

キャッシュの操作を主張する場合、最善の策は、キャッシュ内の最新のJARを手動で置き換えるシェルスクリプトを記述することです。

理由は、Mavenが使用する「ローカルリポジトリ」とは対照的に、Gradleが厳密な意味で「ローカルキャッシュ」の概念を使用するため、Gradleにはこの機能が組み込まれていないためです。

違いは、手動でファイルをローカルキャッシュに保存することは想定されていないことです。

推奨される方法で問題を解決するには:プロジェクトAがプロジェクトBの依存関係であるとします。その後、プロジェクトAでpublishToMavenLocalコマンドを呼び出して、依存関係を更新できます。プロジェクトBの_gradle.build_にmavenLocal()リポジトリを追加します。したがって、プロジェクトBをビルドするたびに、Gradleは依存関係Aを解決するときにローカルリポジトリをチェックします。

3
Danio

mavenLocal()は次のように解決されます。

非標準のローカルMavenリポジトリを使用するには、build.gradleで次の構成を使用できます。

リポジトリ{maven {url '/ Users/manuelj/Apache/maven/repository'}}

1
Wembo Mulumba

Jarファイルとそのログバック依存関係を作成するbuild.gradleサンプル。 mavenlocale()を使用して、プラグインを適用します: 'Java'

プラグインの適用:「Eclipse」

バージョン= '1.0'

sourceCompatibility = 1.7

ターゲットの互換性= 1.7

//すべての依存関係を持つ単一のJarを作成します

タスクfatJar(type:Jar){

 manifest {

    attributes 'Implementation-Title': 'Gradle Jar File Example',

        'Implementation-Version': version,

        'Main-Class': 'com.mkyong.DateUtils'
}
baseName = project.name + '-all'

from { configurations.compile.collect { it.isDirectory() ? it : 

zipTree(it)

}

} jarを使用}

// Maven中央リポジトリから依存関係を取得します

リポジトリ{

mavenCentral()

}

//プロジェクトの依存関係

依存関係{

compile 'ch.qos.logback:logback-classic:1.1.2'

}

参照 Jarファイルとそのログバック依存関係を作成します。

0
Wembo Mulumba