微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 使用gradle将源上传到nexus仓库

我成功地将我的jars上传到了一个nexus仓库,它使用了用于渐变的maven插件,但没有上传代码.这是我的配置:
uploadArchives {
    repositories{
        mavendeployer {
            repository(url: "http://...") {
                 authentication(userName: "user",password: "myPassword")
            }
        }
    }
}

搜索并发现我可以通过添加一个新的任务添加源.

task sourcesJar(type: Jar,dependsOn:classes) {
     classifier = 'sources'
     from sourceSets.main.allSource
}

artifacts {
     archives sourcesJar
}

这很好,但是我认为配置maven插件必须有一个更好的解决方案,像uploadSource = true这样:

uploadArchives {
    repositories{
        mavendeployer {
            repository(url: "http://...") {
                 authentication(userName: "user",password: "myPassword")
            }
            uploadSources = true
        }
    }
}

解决方法

没有比你自己描述的更好的解决方案. gradle maven插件正在上传当前项目中生成的所有工件.这就是为什么你必须明确地创建一个“源”工件.

使用新的maven-publish插件时,情况也不会改变.在这里,您还需要显式定义其他工件:

task sourceJar(type: Jar) {
    from sourceSets.main.allJava
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java

            artifact sourceJar {
                classifier "sources"
            }
        }
    }
}

原因是毕业生更多的是一般的构建工具,而不是纯Java项目.

原文地址:https://www.jb51.cc/java/122491.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐