到目前为止,我正在使用 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(使用前将#替换为@)