![](/img/trans.png)
[英]shadowJar is not including dependent jars, instead including classes in my Helidon Gradle project
[英]Gradle ShadowJar jar of jars without unzipping classes
我试图创建一个罐子,而不从每个罐子解压缩类文件。 不幸的是,shadowJar解压缩了所有jar,因此生成的jar包含目录而不是jar。 我的build.gradle文件是:
apply plugin: 'com.github.johnrengelman.shadow'
dependencies {
compile("ldapjdk:ldapjdk:1.0"){
transitive = false
}
compile("support:activemq-core:5.3.1"){
transitive = false
}
compile("support:concurrent:0.0"){
transitive = false
}
compile("dom4j:dom4j:${dom4j_version}"){
transitive = false
}
compile("commons-lang:commons-lang:${commons_lang_version}") {
transitive = false
}
}
task copyRuntimeLibs(type: Copy) {
from(project(':server').configurations.runtime)
include 'commons-lang2*'
include 'ldapjdk*'
include 'dom4j*'
include 'concurrent*'
}
task copyFiles(dependsOn: [copyRuntimeLibs])
task copyToLib( type: Copy ) {
into "$buildDir/lib"
from configurations.runtime
}
jar { dependsOn copyToLib }
shadowJar {
zip64 true
baseName = "service"
from("$buildDir/lib") {
include '**'
}
}
我已经尝试过{configuration.compile.collect {it.isDirectory()吗? 它:zipTree(it)}。 这还将提取类,清单等。
有没有一种方法可以不从每个罐子中提取类,而是制作一个罐子?
非常感谢。
您可能希望看到此GitHub问题。 https://github.com/johnrengelman/shadow/issues/111
Shadow插件实际上尚未解决该问题,此处显示了一些解决方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.