首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在生成的android库pom中包含依赖项

在生成的android库pom中包含依赖项
EN

Stack Overflow用户
提问于 2016-05-26 20:17:18
回答 1查看 981关注 0票数 4

我正在尝试将一个安卓库发布到本地的JFrog Artifactory。目前,我有以下内容:

代码语言:javascript
复制
apply plugin: 'com.jfrog.artifactory'
apply plugin: 'maven-publish'
apply plugin: 'com.android.library'

publishing {
    publications {
        aar(MavenPublication) {
            groupId libraryGroupId
            version libraryVersion
            artifactId libraryArtifactId

            artifact("$buildDir/outputs/aar/app-beta-debug.aar")
        }
    }
}

artifactory {
    contextUrl = 'http://localhost:8081/artifactory'
    publish {
        repository {
            repoKey = 'libs-release-local'

            username = artifactory_username
            password = artifactory_password
        }
        defaults {
            publications('aar')
            publishArtifacts = true

            properties = ['qa.level': 'basic', 'q.os': 'android', 'dev.team': 'core']
            publishPom = true
        }
    }
}

为了简洁起见,我跳过了一些部分,比如android和依赖部分。build.gradle有多个编译依赖项。

代码语言:javascript
复制
gradle artifactoryPublish

将工件发布到Artifactory,但生成的pom没有依赖项。我找到了这个答案:https://stackoverflow.com/a/30523571/2829308

根据这个答案,pom.withXml起作用了(尽管我不知道如何排除依赖项)。但这看起来有点不对劲。我觉得应该有更好的方法可用。我尝试使用uploadArchives方法,如下所示

代码语言:javascript
复制
uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "http://localhost:8081/artifactory/libs-release-local")
            pom.version = libraryVersion
            pom.artifactId = libraryArtifactId
            pom.groupId = libraryGroupId
        }
    }
}

它显示任务成功,但工件没有在Artifactory中发布。我是不是漏掉了什么明显的东西?我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2016-06-08 05:46:34

Pom文件不应该包含传递依赖,只能包含直接依赖。Maven解析pom文件以查找直接依赖项,下载它们并以递归方式从那里继续。

您应该在pom文件中看到的唯一依赖项是gradle脚本的dependences块中声明的依赖项。

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

https://stackoverflow.com/questions/37460638

复制
相关文章

相似问题

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