使用新的 gradle 插件发布到 Sonatype:maven-publish

2024-04-14

到目前为止,我正在使用 Gradle 将 java 工件上传到 Sonar Nexusupload任务;例如:https://github.com/oblac/jodd/blob/master/gradle/publish-maven.gradle https://github.com/oblac/jodd/blob/master/gradle/publish-maven.gradle

最近我注意到 Gradle 有新的插件maven-publish。我想使用它,因为它似乎将成为发布的主要工具。但是,我无法将其上传到 Nexus。到目前为止,我的文件如下所示:

repositories {
    mavenCentral()
    jcenter()
}

apply plugin: 'java'
apply plugin: 'maven-publish'

group = 'com.foo'
version = 1.0

sourceCompatibility = 1.8
targetCompatibility = 1.8

dependencies {
    compile "...."
}

task sourceJar(type: Jar) {
    classifier = 'sources'
    from sourceSets.main.allJava
}
javadoc {
    failOnError = false
}
task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}
publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java

            artifact sourceJar
            artifact javadocJar
        }
    }
    repositories {
        maven {
            url "https://oss.sonatype.org/service/local/staging/deploy/maven2"
        }
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '3.4.1'
}

我想我错过了什么?我知道我缺少签名,但这与上传无关。我无法使用上传工件gradle publish.

当前错误是:

无法将工件 XXX 传输至远程(https://oss.sonatype.org/service/local/staging/deploy/maven2 https://oss.sonatype.org/service/local/staging/deploy/maven2): 无法写入资源“XXX”。

EDIT

查看最终版本:https://github.com/igr/repo-url-parser/blob/master/build.gradle https://github.com/igr/repo-url-parser/blob/master/build.gradle


我认为您错过了身份验证信息,因此无权发布到 Sonatype OSS,因为您尝试匿名部署。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用新的 gradle 插件发布到 Sonatype:maven-publish 的相关文章

随机推荐