2016-01-05 20 views
5

Uso il gradle (2.9) plug-in maven-publish per pubblicare un file in un repository privato nexus maven. Il file è build.gradleImpossibile trasferire artefatto pom in gradle maven-publish plug-in

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' 

     } 
    } 
} 

il file kar sia correttamente caricato e in nesso posso vedere il descrittore XML atteso:

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

ma purtroppo, durante l'esecuzione del compito publish, ottengo il seguente errore:

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 

Come posso risolvere questo errore?

+0

se 'https: // nexus.dev.example.io/nexus/content/repositories/example-maven' è davvero la directory che si prevede di distribuire, il problema è probabilmente sul server: l'utente potrebbe non aver scritto accesso. – StephaneM

+0

L'utente sembra avere accesso in scrittura: il file kar stesso viene caricato correttamente dall'attività –

risposta

1

Problema risolto: il punto è che stavo cercando di sovrascrivere un file pom esistente in nexus. Ho cancellato il file kar ma ho dimenticato di rimuovere il pom prima di eseguire il compito gradle.

Problemi correlati