首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven-Publish不在POM中发布API/实现依赖项

Maven-Publish不在POM中发布API/实现依赖项
EN

Stack Overflow用户
提问于 2018-04-05 12:28:38
回答 2查看 837关注 0票数 4

我正在使用gradle中的maven-publish插件来发布工件。我需要生成一个包含依赖项的POM文件,以便我的使用者可以获取所需的依赖项。

由于maven-publish在默认情况下不包含对POM文件的依赖关系,因此我不得不使用

代码语言:javascript
复制
pom.withXml {
            def dependenciesNode = asNode().appendNode('dependencies')
            configurations.compile.allDependencies.each {
                def dependencyNode = dependenciesNode.appendNode('dependency')
                dependencyNode.appendNode('groupId', it.group)
                dependencyNode.appendNode('artifactId', it.name)
                dependencyNode.appendNode('version', it.version)
                dependencyNode.appendNode('scope', 'compile')
            }
        }

在我把关键字compile换成apiImplementation之前,一切对我来说都很好。发布的POM不包含任何依赖关系,使用关键字apiImplementation。我不得不使用compile使它包含在POM文件中,这里我遗漏了什么吗?

EN

回答 2

Stack Overflow用户

发布于 2018-04-05 13:26:52

在网上搜索了几个小时后,我才意识到你包含的POM文件的属性也改变了。

现在它变成了

代码语言:javascript
复制
//for implementation dependencies
configurations.implementation.allDependencies.each { ... }

//for api dependencies
configurations.api.allDependencies.each { ... }

然而,

代码语言:javascript
复制
configurations.implementation.allDependencies.each { ... }

似乎已经在POM文件中包含了api依赖项。

票数 3
EN

Stack Overflow用户

发布于 2018-04-05 12:47:06

您可以简单地跳过作用域部分,您几乎不会遇到maven与作用域的依赖关系。':D

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49664179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档