我已經知道將依賴的 jar 復制到一個檔案夾中:
task copyJARsToLib(type: Copy) {
from configurations.default
into 'Applicationlib'
}
運行此任務后,所有依賴的 jar 都被復制到Applicationlib檔案夾中,jar 的名稱{artifactName-version.jar}為例如。對于implementation("org.apache.poi:poi-ooxml:5.2.2")jar 名稱變為poi-ooxml-5.2.2.jar.
我想要的是在復制 jar 名稱后還應該有組名,例如:group.name_version.jar例如。org.apache.poi.poi-ooxml-5.2.2.jar
我試過了
configurations.default.each {
}
但是這個迭代器有File物件,因此只有 jar 檔案名而不是組名。
uj5u.com熱心網友回復:
當然還有其他方法可以實作這一點,但如果您的專案只有模塊依賴項(否則您可能需要稍作調整) ,以下方法可以正常作業
dependencies {
implementation("org.apache.poi:poi-ooxml:5.2.2")
}
task copyDependenciesWithGroup {
doLast {
configurations.default.resolvedConfiguration.resolvedArtifacts.forEach{ ResolvedArtifact artifact ->
project.copy {
from artifact.file
into 'ApplicationlibWithGroup'
rename { String fileName ->
"${artifact.moduleVersion.id.group}.$fileName"
}
}
}
}
}
這將復制目錄中的以下 jar ApplicationlibWithGroup:
$ ls -l ApplicationlibWithGroup/
com.github.virtuald.curvesapi-1.07.jar
com.zaxxer.SparseBitSet-1.2.jar
commons-codec.commons-codec-1.15.jar
commons-io.commons-io-2.11.0.jar
org.apache.commons.commons-collections4-4.4.jar
org.apache.commons.commons-compress-1.21.jar
org.apache.commons.commons-math3-3.6.1.jar
org.apache.logging.log4j.log4j-api-2.17.2.jar
org.apache.poi.poi-5.2.2.jar
org.apache.poi.poi-ooxml-5.2.2.jar
org.apache.poi.poi-ooxml-lite-5.2.2.jar
org.apache.xmlbeans.xmlbeans-5.0.3.jar
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/523315.html
