我正在嘗試使用本地 .jar 創建一個 FatJar。但是,我只找到了教程和指南,其中不推薦使用諸如“編譯”之類的描述方法。
做這樣的事情的最新和最好的方法是什么?
需要完成的 .jar(帶有所有依賴項)才能在遠程服務器上運行它。
uj5u.com熱心網友回復:
我假設您沒有使用 kotlin,因為您沒有提到任何相關資訊。您可以創建自己的任務來執行此操作
task createfatJar(type: Jar) {
manifest {
attributes 'Main-Class': 'full.package.path.Main'
}
archiveClassifier = "all"
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
with jar
}
如果您使用最新版本,可能 7 您需要添加duplicatesStrategy 'exclude'和洗掉configurations.compile.collect
我使用的是 6.9,但它應該如下所示
task createfatJar(type: Jar) {
duplicatesStrategy 'exclude'
manifest {
attributes 'Main-Class': 'full.package.path.Main'
}
archiveClassifier = "all"
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
with jar
}
如果您使用版本 7 及更高版本,希望這項作業有效。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/360973.html
