gpt4 book ai didi

java - 如何更改生成的工件的依赖关系?

转载 作者:行者123 更新时间:2023-11-30 11:06:12 24 4
gpt4 key购买 nike

Gradle 2.3;影子插件 1.2.1。

在我的 build.gradle 中,我使用 shadow 插件来重新打包依赖项,如下所示:

shadowJar {
relocate("com.google.common", "r.com.google.common");
}

我还将 shadow jar 添加到要发布的工件列表中:

artifacts {
archives jar;
archives sourcesJar;
archives javadocJar;
archives shadowJar;
}

但是影子 jar 的依赖项列表仍然包含“普通”jar 的所有依赖项,即使它具有内置的所有依赖项。

这是预期的行为吗?如何让 shadow jar 排除这种或那种依赖性?

最佳答案

在工作中,我们遇到了同样的问题,我们只是将其放入我们其中一个项目的 build.gradle 中:

def installer = install.repositories.mavenInstaller
def deployer = uploadArchives.repositories.mavenDeployer

[installer, deployer]*.pom*.whenConfigured { pom ->
pom.dependencies.retainAll {
it.groupId == 'our.group.id' && it.artifactId == 'some-api'
}
}

这会从 pom.xml 中删除所有依赖项,但对我们的 API 项目之一的依赖项除外。

(它是来自 official Gradle documentation 的示例的完整副本。)

关于java - 如何更改生成的工件的依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29392236/

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