繁体   English   中英

Gradle ShadowJar罐子,没有解压缩类

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM