我遇到一种情况,需要在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的文件。
谢谢。
答案 0 :(得分:0)
在build.gradle中添加以下内容,它应该在gradle build命令中创建胖子
jar {
from {
(configurations.runtime).collect {
it.isDirectory() ? it : zipTree(it)
}
}
}