Не удалось перевести pom артефакта в плагин Gradle Maven

Я использую плагин madle-publish gradle (2.9) для публикации файла в частном репозитории nexus maven. Файл 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 правильно загружен, и в нексусе я вижу ожидаемый XML-дескриптор:

<dependency>
  <groupId>com.example.karaf-utils</groupId>
  <artifactId>esa-bootstrapper</artifactId>
  <version>1.0.0</version>
  <type>kar</type>
</dependency>

но, к сожалению, во время исполнения 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

Как я мог исправить эту ошибку?

1 ответ

Решение

Проблема решена: дело в том, что я пытался переписать существующий файл POM в Nexus. Я удалил файл kar, но забыл удалить pom перед запуском задачи gradle.

Другие вопросы по тегам