如何从Gradle distZip任务中排除除一个特定jar之外的所有jar?

时间:2018-02-15 00:51:30

标签: gradle

https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/java/org/gradle/api/plugins/ApplicationPlugin.java的第192行是:

libChildSpec.from(project.getConfigurations().getByName(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME));

由于我的项目使用的是Spring Boot并且它生成一个独立的jar,如何从distZip任务中排除所有其他jar?

1 个答案:

答案 0 :(得分:0)

distributions {
  main {
    contents {
      into('lib') {
        project.configurations.runtimeClasspath.files.findAll { file ->
          file.getName() != project.tasks.jar.outputs.files.singleFile.name
        }.each { file ->
          exclude file.name
        }
      }
    }
  }
}