2

Gradle を使用して、依存関係を含む jar (FAT jar) を作成する必要があります。

キャッチ: jar には、ストレートな .groovy ファイルのみを含める必要があります... .class ファイルは必要ありません。

Gradleクックブックからそれを行う方法を見てきました: http://docs.codehaus.org/display/GRADLE/Cookbook#Cookbook-Creatingafatjar

One-Jar プラグイン: https://github.com/rholder/gradle-one-jar

ただし、どちらの方法でも、実際のソース .groovy ファイルではなく、コンパイルされた .class ファイルを使用する必要がありました。また、この jar を実行可能にする必要はありません。.groovy スクリプトを参照できるようにし、それらの依存関係が既に存在するようにする必要があるだけです。

これは可能ですか?

4

1 に答える 1

3

.jar ファイルが必要なのか、それとも .jar でソースを配布するのは混乱するので .zip で十分なのか、私にはわかりません。しかし、必要なものとは別に、Zip タスクが必要です。

task('fatJar', type: Zip) {
    extension = 'jar' // overriding default value: 'zip'
    classifier = 'fat' // alternatively you can set basename or appending

    from(sourceSets.main.allGroovy) // will fail if the groovy plugin isn't applied
    from(configurations.runtime) // this includes all your jars needed on runtime
}

これは非常に単純な例で、build/distributions/ 内に [projectName]-[version]-fat.jar というファイルを作成し、すべての jar を zip のルートに配置し、その隣に groovy ソース ファイルを配置します。その他のオプションについては、 Gradle Zip タスクのドキュメントを参照してください。

于 2014-03-17T18:55:17.740 に答える