2016-07-06 2 views
1

いくつかのバネ依存関係を持つJARを構築してnexusリポジトリに入れようとしています。そして私のbuild.gradleはどのようにjarをパッケージ化して、依存するspring jarを最終的なjarに含めるのではなく、それらをmavenリポジトリに参照するようにすることができます。

dependencies { 

compile group: 'org.springframework', name: 'spring-jdbc', version: '3.1.0.RELEASE' 



compile("org.springframework.cloud:spring-cloud-spring-service-connector:1.2.2.RELEASE") 
compile("org.springframework.cloud:spring-cloud-cloudfoundry-connector:1.2.2.RELEASE") 

    } 

の下に私はこれを使用して、私のjarファイルをバンドルするときのように、それはちょうど私の最後の瓶にこれらのjarファイルが含まれて見えます。

jar { 
baseName = 'npswo-framework' 
version = '0.1.0' 
from { 
    configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } 
} 


} 

私は私の最後のjarファイルは、これらのjarファイルにはいくつかの参照は、META-INFても、誰かが私のjarファイルをダウンロードするときにそれらをダウンロードすることができなければならない何かを探しています。

誰かがネクサスで私のjarファイルをダウンロードしたり、参照している場合、現在、それは私の瓶の下で春のjarフォルダが含まれており、彼らはすでに春の参照

+0

なぜ全体を部品から取り除いて通常の内容のジャーをパッケージ化するのではなく、そうするのですか?私のjar {} configは通常、マニフェスト部分だけを含んでいます。 –

+0

通常、依存関係はpom.xmlに格納されます。これを有効にするには、 'maven-publish'プラグインを追加してください。 –

+0

Springの標準的なjarファイルを見ると、meta-inf pom.xmlに独自のコンテンツ(クラス)と依存jarがあります。同じ方法でjarファイルを作成したいGradle。例えば、spring-data-rest-mvc jarを参照することができます。これは独自のクラスを持ち、pom.xmlはmetainf/maven/...にあります。もし、このjarファイルをrest-mvcとともに引っ張ると、他のすべてのjarも追加されます。 –

答えて

0

MavenのはGradleの中でプラグインを公開しているプロジェクトは、問題を解決した場合、我々は従うことができ、複製されていますグラデーションでパブリッシュプラグインを作成する例

関連する問題