2012-02-18 22 views
12

Estoy en el proceso de configurar un entorno de compilación de Jenkins para construir mis proyectos de Android. En general, está bien, pero hay algunas dependencias que no están disponibles en el repositorio central, como la API de Google Maps Maps, por lo tanto, necesito instalarla en mi repositorio remoto manualmente. Tengo estas instalaciones en mi repositorio local usando mvn install y eso funciona bien.No se puede instalar un artefacto local de maven en el repositorio remoto, google-android-maps

He hecho algunas búsquedas en Google, y tengo la siguiente configuración hasta el momento, pero estoy viendo los siguientes errores cuando trato de implementar el jar de mapas en mi repositorio remoto.

mvn deploy:deploy-file -DgroupId=com.google.android.maps -DartifactId=maps -Dversion=8_r1 -Dpackaging=jar -Dfile=C:\Users\James\.m2\repository\com\google\android\maps\maps\8_r1\maps-8_r1.jar -DrepositoryId=cloudbeesreleases -Durl=https://repository-myusername.forge.cloudbees.com/release/ 

y veo esto:

[INFO] Error stacktraces are turned on. 
[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Maven Stub Project (No POM) 1 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-deploy-plugin:2.5:deploy-file (default-cli) @ standalone-pom --- 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 0.450s 
[INFO] Finished at: Sat Feb 18 17:01:06 GMT 2012 
[INFO] Final Memory: 4M/92M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy-file (default-cli) on project standalone-pom: Cannot deploy artifact from the local repository: C:\Users\James\.m2\repository\com\google\android\maps\maps\8_r1\maps-8_r1.jar -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy-file (default-cli) on project standalone-pom: Cannot deploy artifact from the local repository: C:\Users\James\.m2\repository\com\google\android\maps\maps\8_r1\maps-8_r1.jar 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
Caused by: org.apache.maven.plugin.MojoFailureException: Cannot deploy artifact from the local repository: C:\Users\James\.m2\repository\com\google\android\maps\maps\8_r1\maps-8_r1.jar 
    at org.apache.maven.plugin.deploy.DeployFileMojo.execute(DeployFileMojo.java:211) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
    ... 19 more 
[ERROR] 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 

Tengo el siguiente en mi settings.xml

<profiles> 
    <profile> 
     <id>artifactory</id> 
     <repositories> 
     <repository> 
      <id>cloudbeesreleases</id> 
      <name>libs-releases</name> 
      <url>https://repository-myusername.forge.cloudbees.com/release/</url> 
      <snapshots> 
      <enabled>false</enabled> 
      </snapshots> 
     </repository>   
     </repositories>  
    </profile> 
    </profiles> 
    <activeProfiles> 
    <activeProfile>artifactory</activeProfile> 
    </activeProfiles> 

¿Tengo algo mal configurado, o estoy completamente malentendido cómo el deploy debe ¿trabajo?

Respuesta

0

Un par de cosas para probar: Utilice el parámetro de configuración para asegurarse de que se está utilizando el archivo de configuración correcto, hay varios que tienen una jerarquía.

--settings <arg> 

¿La salida del registro decir algo así como la posibilidad de subir http: // ..... es la dirección URL correcta y lo que se espera que sea?

¿Está subiéndolos manualmente usando el frente del sonatype una opción?

no debe su configuración también el archivo tiene una etiqueta de servidor:

<server> 
    <id>deploymentRepo</id> 
    <username>repouser</username> 
    <password>repopwd</password> 
</server> 

El docs dicen "Servidor Id al mapa en la virtud de la sección de settings.xml" así que supongo que no funcionará sin una haciendo coincidir la configuración del servidor.

9

El mensaje de error parece sencillo.

no se puede implementar artefactos desde el repositorio local: ...

Se puede tratar de implementar el archivo de colocarlo en un lugar diferente? También this discussion parece estar en el mismo problema y dice por qué hay un problema.

+6

Tuve el mismo problema, así que copié el artefacto a/tmp/e intenté implementarlo desde esa ubicación. ¡Funcionó! – neu242

+0

Gracias, copiar el archivo fuera del repositorio local maven resuelve el problema! – Laimoncijus

+0

Sería bueno si hubiera una manera de anular este comportamiento (por ejemplo, --force), ya que hay una variedad de escenarios donde un usuario podría necesitar hacer esto ... tener que copiar el archivo del repositorio es una especie de truco. – James

Cuestiones relacionadas