加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:27:52 所属栏目:Java 来源:网络整理
导读:我成功地将我的jars上传到了一个nexus仓库,它使用了用于渐变的maven插件,但没有上传源代码.这是我的配置: uploadArchives { repositories{ mavenDeployer { repository(url: "http://...") { authentication(userName: "user",password: "myPassword") } }
我成功地将我的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项目.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读