2016-11-15 13 views
0

私は最終的にGradle-friendlyリポジトリ(Artifactory)に公開する一連のjarnを「スニーカーネット」していますが、当面はローカルに滞在する必要があります私のマシンで。ファイルシステムからjarファイルを解決するためにGradleを使用する

これらのジャーは、dependenciesとしてリストすることができるだけでなく、Eclipseプラグインを使用してEclipse IDE内の依存関係を解決するGradleプロジェクトで使用する必要があります。

これらのジャーはすべてPOMを持ち、独自の推移的な依存関係(すべてがMaven CentralやJCenterなどの典型的なreposにあります)を持っています。

私はこれらのjarをファイルシステムのどこかに保存する方法を模索していますが、通常のdependenciesのように解決しています。推移的な依存関係の解決も含め、Gradle Eclipseプラグインと互換性がありますフードの下。

再び、望ましい結果は次のようになります。

  • は依存関係がそれぞれ「特別な瓶の」POMで定義されているものは何でも~/special-jars/*
  • は、それらの
  • を解決する、と言うから、依存関係としてこれらのjarファイルを追加するとI gradle eclipseを実行すると、Gradleもファイルシステムからファイルをプルします。

これは可能ですか?もしそうなら、どうですか?

答えて

1

ローカルMavenリポジトリにjarを保存したいと思うように聞こえます。

ローカルMavenのレポは、ディレクトリ構造がここで例えば厳格になり、私は典型的なのGradleを使用することができ、これを使用して、私の地元の

$ ls -d $PWD/* 
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2-javadoc.jar 
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2-javadoc.jar.sha1 
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2-sources.jar 
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2-sources.jar.sha1 
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar 
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar.sha1 
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2.pom 
/Users/some.user/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2.pom.sha1 

にgsonされているローカルのMavenリポジトリとデフォルト~/.m2/repository

でここに住んでいます推移的依存性との依存性。

repositories { 
    mavenLocal() 
} 
dependencies { 
    compile "com.google.code.gson:gson:2.6.2" 
} 

あなたがポンポンで宣言された推移依存関係を失うことになるがflatdirてjarファイルをインポートすることができます。

+0

を使用することができ、私はあなたのディレクトリリストに情報の重要なビットを逃したと思います。推移的な依存関係を指定する 'gson-2.6.2.pom'も参照してください。 –

+0

@Lance Java、' pom'と 'sha1'ファイルを含む完全なディレクトリ内容を表示する答えを更新しました。 – JBirdVegas

0

さらにJBirdVegas' answerには、カスタムロケーションも使用できます。たとえば、プロジェクトのサブフォルダ

repositories { 
    maven { 
     url file("${rootProject.projectDir}/mavenRepo") 
    } 
} 

それとも

repositories { 
    maven { 
     url file("c:/path/to/repo") 
    } 
} 
関連する問題