我正在尝试从手动编译类的文件夹中生成jar
。
这是我完成的任务
task toJar (type: Jar) {
from file('/path/to/classes/dir')
destinationDir file('/path/to/jars/dir')
with jar
}
但是那个任务什么都不会产生。
我看到了可能带有configurations.compile.collect
的示例,但就我而言,该目录是由外部工具编译的。
gradle
如何从外部编译的类生成jar
?
答案 0 :(得分:0)
您的任务应该可以正常运行,但是您实际上并不需要with jar
。
下面是一个有效的示例,假设带有外部编译类的目录为$rootDir/externalClasses
:
task toJar(type: Jar) {
from file("$rootDir/externalClasses")
destinationDir project.buildDir
// print each included file for debug purpose
eachFile { print "included file: $it" }
}
输出:
> Task :toJar
included file: file 'C:\tmp\gradle-projects\TestGradle\externalClasses\org\mycompany\gradle\MaiApp.class'
BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed
然后在$buildDir/
中正确创建结果Jar文件
您可以尝试删除“ with jar”行,并在代码中添加eachFile
调试闭包吗?输出是什么?