【问题标题】:Why did it generate many pom files when I every time execute uploadArchives?为什么每次执行uploadArchives都会生成很多pom文件?
【发布时间】:2016-10-27 14:55:36
【问题描述】:

我编写了我的 gradle 脚本,用于将我的模块作为工件发布。我正在使用我们公司的内部 Maven 存储库。我执行

gradle 上传存档

这是成功的。然后我浏览了发布网址的网页,pom.xml 在那里。

lib.core.imageprocessor-1.0.0.develop-20161025.140959-1.pom

一切都很好。但是当我第二次执行这个任务时,我发现它又生成了另一个pom文件。看:

lib.core.imageprocessor-1.0.0.develop-20161026.051357-2.pom

当我每次执行上传任务时,它都会生成带有 x.pom(x 递增)的新 pom 文件。所以仓库里会有很多 pom.xml 文件。

为什么会生成一个不同名字的pom文件?我是不是做错了什么?

代码如下:

 uploadArchives {
    repositories {
        mavenDeployer {
            configurePOM(pom)
            repository(url: "http://10.10.106.128:8081/nexus/content/repositories/releases/") {
                authentication(userName: 'xxx', password: 'xxx')
            }
            snapshotRepository(url: "http://10.10.106.128:8081/nexus/content/repositories/snapshots") {
                authentication(userName: 'xxx', password: 'xxx')
            }
        }
    }
}

private configurePOM(def pom) {
    pom.project {
        groupId 'com.gaogao.android'
        artifactId imageprocessor
        String ver = "1.0.0." + “develop” + "-SNAPSHOT"
        version ver
        name 'com.gaogao.android'
        packaging 'aar'
        description "Lib For Android"
        url "http://10.10.106.128:8081/nexus/content/groups/public/"
        inceptionYear "2016"
        developers {
            developer {
                id "android_team"
                name "android_team"
                email "android_team@xxx.com"
                url "http://www.gaogao.com"
            }
        }

    }
}

任何帮助将不胜感激。

【问题讨论】:

    标签: java android maven gradle


    【解决方案1】:

    在您发布其中一个之前,SNAPSHOT 是中间版本。 1.0.0-SNAPSHOT 将产生 1.0.0 发布版本。因为您可以多次尝试让您的 SNAPSHOT 准备好发布。仅1.0.0-SNAPSHOT 不足以识别工件,因此需要添加后缀。

    对于 Maven(可能还有 gradle,不确定),有“始终更新 SNAPSHOT 依赖项”的选项,选择由后缀确定的最新(或最大)1.0.0-SNAPSHOT

    如果您使用的是 Sonatype Nexus 或类似工具,这是负责后缀的工具,并且可能对其快照存储库有一些策略,可以在其中进行修改。您可以(并且应该)在此处调整未使用的 SNPASHOT 工件的删除(基于时间或其他方式)。

    在发布回购中,后缀是被禁止的,或者至少不是一个好主意,因为这里的版本是独一无二的。

    【讨论】:

    • 抱歉回复晚了。你的答案是完美的。我会接受的。
    猜你喜欢
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    • 2012-08-15
    • 2019-03-23
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多