gpt4 book ai didi

java - 如何让 gradle 的构建任务生成 shadow jar 而不是 "regular"jar?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:57:01 25 4
gpt4 key购买 nike

(这是使用 gradle 2.4)

对于我的一个项目,分为几个子模块,我使用 shadow plugin这非常适合我的需要;它有一个主要的,并且按照插件的自述文件的建议,我将应用程序插件与它结合使用,以便在 list 中生成 Main-Class,一切正常。

现在,这是一个 SonarQube 插件项目,我也使用(成功!)gradle sonar packagin plugin .这个插件的作用是,当您./gradlew build 时,生成声纳插件而不是“常规”jar。

我希望在这里为我的子项目做同样的事情,除了我希望它只生成影子 jar 插件而不是“常规”插件......现在我使用这个简单的文件生成这两个插件:

buildscript {
repositories {
jcenter();
}
dependencies {
classpath(group: "com.github.jengelman.gradle.plugins",
name:"shadow", version:"1.2.1");
}
}

apply(plugin: "application");
apply(plugin: "com.github.johnrengelman.shadow");

dependencies {
// whatever
}

mainClassName = //whatever

artifacts {
shadowJar;
}

// Here is the hack...

build.dependsOn(shadowJar);

如何修改此文件以便只生成影子 jar 而不是常规 jar?

最佳答案

您可以通过将以下行添加到您的 gradle 脚本来禁用 jar 任务:

// Disable the 'jar' task
jar.enabled = false

所以,在执行gradle脚本的时候,会显示

:jar SKIPPED

如果你想配置所有子项目,那么你可以将以下内容添加到你的根 build.gradle

subprojects {

// Disable the 'jar' task
tasks.jar.enabled = false

}

关于java - 如何让 gradle 的构建任务生成 shadow jar 而不是 "regular"jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30309290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com