gpt4 book ai didi

maven - 如何排除Gradle生成的POM文件中的依赖

转载 作者:行者123 更新时间:2023-12-04 11:04:41 25 4
gpt4 key购买 nike

我正在使用“maven”插件将 Gradle 构建创建的 Artifact 上传到 Maven 中央存储库。我正在使用类似于以下任务的任务:

uploadArchives {
repositories {
mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }

pom.project {
name 'Example Application'
packaging 'jar'
url 'http://www.example.com/example-application'

scm {
connection 'scm:svn:http://foo.googlecode.com/svn/trunk/'

url 'http://foo.googlecode.com/svn/trunk/'
}

licenses {
license {
name 'The Apache License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}

}
}
}
}

但是,此任务创建的 POM 文件没有正确报告已在我的 Gradle 构建文件中排除的依赖项。例如:
dependencies {
compile('org.eclipse.jgit:org.eclipse.jgit.java7:3.5.2.201411120430-r') { exclude module: 'commons-logging' }
compile('com.upplication:s3fs:0.2.8') { exclude module: 'commons-logging' }
}

如何在生成的 POM 文件中正确管理排除的依赖项?

最佳答案

您可以通过过滤掉不需要的依赖项来简单地覆盖 pom 的依赖项,例如要排除 junit,您可以将以下行添加到 mavenDeployer 配置中:

pom.whenConfigured {
p -> p.dependencies = p.dependencies.findAll {
dep -> dep.artifactId != "junit"
}
}

关于maven - 如何排除Gradle生成的POM文件中的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29147643/

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