从Gradle Java项目构建的jar中排除所有已编译的类

时间:2018-11-07 17:06:53

标签: java gradle jar

我有一个带有自定义任务的gradle Java项目,该项目在构建期间会生成一些文件。我需要产生仅包含生成文件的jar工件。问题: jar同时包含生成的文件和类文件

不可能从源集中排除* .java文件,因为我需要生成的编译类。

select 0 AS id, object_name name from user_objects where object_type in('TABLE','VIEW')

上面的代码段删除了类文件,但保留了目录。

1 个答案:

答案 0 :(得分:1)

includeEmptyDirs = false添加到jar任务中。

jar {
  exclude("**/*.class")
  includeEmptyDirs = false
  from ("$buildDir/generated-files-dir")
}

https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html#org.gradle.api.tasks.bundling.Jar:includeEmptyDirs