在gradle中的doLast中创建fatJar任务

时间:2018-08-21 10:10:35

标签: gradle

我遇到一种情况,需要在doLast中创建胖jar任务并将该jar复制到其中一个文件夹中。为此,我编写了以下任务。

任务配置{

doLast {
    clean 
task createFatJar(type: Jar) {
manifest {
    attributes 'Implementation-Title': 'myProjecrt Jar File',  
        'Implementation-Version': version,
        'Main-Class': 'com.bitwise.MyApplication'
}
baseName = project.name
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
zip64 true
with jar
}
//copy to deployment
def inputdir = file("${buildDir}/libs/qualidi-0.0.1-SNAPSHOT.jar")
def dest = file("C:\\MyFolder\\SubFolder")
copy {
   from inputdir
    into dest
}  
}

} 如果我分别创建createFatJar任务并执行它,效果很好,但最后它会创建1 kb的文件。

谢谢。

1 个答案:

答案 0 :(得分:0)

在build.gradle中添加以下内容,它应该在gradle build命令中创建胖子

jar {
 from {
    (configurations.runtime).collect {
        it.isDirectory() ? it : zipTree(it)
    }
}
}