Spring Boot+Grade包装分離libはjarを実行できます。
Spring Boot+Grade包装分離libはjarを実行できます。
最近新しくプロジェクトをオープンしました。SpringBoot 2.14+gradle 5.3を使っています。梱包する時にlibを分離して、ネットでいろいろな方法を探しましたが、成功しませんでした。いつもconfigrations.comでカードを使っています。正しいjarパッケージのパスがなかなか取れません。最後にgoogleで解決方法を見つけました。まとめて整理したら簡単で使いやすいです。ここでメモしたのは以下の通りです。
最近新しくプロジェクトをオープンしました。SpringBoot 2.14+gradle 5.3を使っています。梱包する時にlibを分離して、ネットでいろいろな方法を探しましたが、成功しませんでした。いつもconfigrations.comでカードを使っています。正しいjarパッケージのパスがなかなか取れません。最後にgoogleで解決方法を見つけました。まとめて整理したら簡単で使いやすいです。ここでメモしたのは以下の通りです。
// lib
task clearJar(type: Delete) {
delete "$buildDir\\libs\\lib"
}
// lib
task copyJar(type: Copy, dependsOn: 'clearJar') {
from configurations.runtime
into "$buildDir\\libs\\lib"
}
bootJar {
archivesBaseName = "data-job-mgr-provider"
archiveVersion = ""
// jar
excludes = ["*.jar", "application.yml"]
// lib
dependsOn clearJar
dependsOn copyJar
//
manifest {
attributes "Manifest-Version": 1.0,
'Class-Path': configurations.runtime.files.collect { "lib/$it.name" }.join(' ')
}
}
運行する時もjava.ext.dirまたはloader.pathを指定する必要はありません。直接-jarが運行すればいいです。java -jar data-job-mgr-provider.jar --spring.config.location=[conf-path]/application.yml