【问题标题】:What files Gradle packs into a jar archive?Gradle 将哪些文件打包到 jar 存档中?
【发布时间】:2021-03-08 23:07:40
【问题描述】:

什么表达式(在build.gradle 文件中)评估为默认打包到 jar 存档中的文件列表(不调整“jar”任务?

我无法轻易在org.gradle.jvm.tasks.Jarorg.gradle.api.tasks.bundling.Jar 的来源中发现它。

这个问题是通过使用未添加到 jar 存档中的自定义 sourceSet 文件引起的。

【问题讨论】:

    标签: java gradle jar source-sets


    【解决方案1】:

    添加jar 任务并对其进行配置的是Java 插件。你可以在org.gradle.api.plugins.JavaPlugin类的源代码中看到这一点:

    private TaskProvider<Jar> registerJarTaskFor(Project project, JavaPluginConvention pluginConvention) {
        return project.getTasks().register(JAR_TASK_NAME, Jar.class, jar -> {
            jar.setDescription("Assembles a jar archive containing the main classes.");
            jar.setGroup(BasePlugin.BUILD_GROUP);
            jar.from(mainSourceSetOf(pluginConvention).getOutput());
        });
    }
    

    https://github.com/gradle/gradle/blob/e343cfe2b37317a3de119da2809887f76042fe0d/subprojects/plugins/src/main/java/org/gradle/api/plugins/JavaPlugin.java#L315-L321

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-04
      • 1970-01-01
      • 2014-10-13
      • 2016-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-07
      相关资源
      最近更新 更多