依存 jar を特定のディレクトリ化にコピーして jar を生成する方法
以下は libs
以下に依存する jar を入れる方法
jar { manifest { attributes "Main-Class": "$mainClassName" } zip64 = true def copySpec = project.copySpec { into "libs" from { configurations.runtimeClasspath.collect { it } } } with copySpec }
$ gradle build $ jar tvf build/libs/sample.jar 0 Tue Jun 08 16:52:50 JST 2021 META-INF/ 64 Tue Jun 08 12:01:08 JST 2021 META-INF/MANIFEST.MF 0 Tue Jun 08 11:51:34 JST 2021 sample/ 1275 Tue Jun 08 11:51:34 JST 2021 sample/App.class 0 Tue Jun 08 16:52:50 JST 2021 libs/ 2746681 Fri Feb 12 10:45:22 JST 2021 libs/guava-28.0-jre.jar 4617 Wed Oct 14 19:19:36 JST 2020 libs/failureaccess-1.0.1.jar 2199 Wed Oct 14 19:19:34 JST 2020 libs/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar 19936 Wed Oct 14 19:19:34 JST 2020 libs/jsr305-3.0.2.jar 200629 Wed Oct 14 19:19:34 JST 2020 libs/checker-qual-2.8.1.jar 13166 Wed Oct 14 19:19:34 JST 2020 libs/error_prone_annotations-2.3.2.jar 8781 Wed Oct 14 19:19:34 JST 2020 libs/j2objc-annotations-1.3.jar 3448 Fri Feb 12 10:45:18 JST 2021 libs/animal-sniffer-annotations-1.17.jar