我使用gradle(2.9)maven-publish插件将文件发布到私有nexus maven repo.build.gradle文件是
apply plugin: 'maven-publish' publishing { repositories { maven { name "example-maven" url "https://..." credentials { username mavenUser password mavenPassword } } } publications { maven(MavenPublication) { groupId 'com.example.karaf-utils' artifactId 'esa-bootstrapper' version '1.0.0' artifact source: "${projectDir}/kar/example.esa.bootstrapper.kar", extension: 'kar' } } }
kar文件已正确上传,在nexus中我可以看到预期的xml描述符:
com.example.karaf-utils esa-bootstrapper 1.0.0 kar
但不幸的是,在执行publish
任务期间,我收到以下错误:
gradle :com.example.karaf.subsys.bootstrap:publish :com.example.karaf.subsys.bootstrap:generatePomFileForMavenPublication :com.example.karaf.subsys.bootstrap:publishMavenPublicationToexample-mavenRepository Upload https://nexus.dev.example.io/nexus/content/repositories/example-maven/com/example/karaf-utils/esa-bootstrapper/1.0.0/esa-bootstrapper-1.0.0.kar Upload https://nexus.dev.example.io/nexus/content/repositories/example-maven/com/example/karaf-utils/esa-bootstrapper/1.0.0/esa-bootstrapper-1.0.0.kar.sha1 Upload https://nexus.dev.example.io/nexus/content/repositories/example-maven/com/example/karaf-utils/esa-bootstrapper/1.0.0/esa-bootstrapper-1.0.0.kar.md5 Upload https://nexus.dev.example.io/nexus/content/repositories/example-maven/com/example/karaf-utils/esa-bootstrapper/1.0.0/esa-bootstrapper-1.0.0.pom Could not transfer artifact com.example.karaf-utils:esa-bootstrapper:pom:1.0.0 from/to remote (https://nexus.dev.example.io/nexus/content/repositories/example-maven): Could not write to resource 'com/example/karaf-utils/esa-bootstrapper/1.0.0/esa-bootstrapper-1.0.0.pom' :com.example.karaf.subsys.bootstrap:publishMavenPublicationToexample-mavenRepository FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':com.example.karaf.subsys.bootstrap:publishMavenPublicationToexample-mavenRepository'. > Failed to publish publication 'maven' to repository 'example-maven' > Failed to deploy artifacts: Could not transfer artifact com.example.karaf-utils:esa-bootstrapper:pom:1.0.0 from/to remote (https://nexus.dev.example.io/nexus/content/repositories/example-maven): Could not write to resource 'com/example/karaf-utils/esa-bootstrapper/1.0.0/esa-bootstrapper-1.0.0.pom' * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED
我怎么能修复这个错误?
解决的问题:重点是我试图覆盖nexus中的现有pom文件。我删除了kar文件,但是在运行gradle任务之前忘了删除pom。