2012-07-27 22 views
11

estoy usando una versión un poco más antigua (1.5) de com.sun.jersey-server/json/client y tiene que ser esta versión, así que no sugiera usar una versión más nueva.Maven usa el repositorio incorrecto para descargar

En mi pom.xml estoy haciendo referencia a ella a través de

<dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>${jersey.version}</version> 
     <type>jar</type> 
     <scope>compile</scope> 
     <exclusions> 
      <exclusion> 
       <!-- version conflicts with explicit direct dependency --> 
       <groupId>org.codehaus.jettison</groupId> 
       <artifactId>jettison</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

$ {} jersey.version siendo 1,5

Si Me wa compilarlo me sale estos errores:

[INFO] Scanning for projects... 
    [INFO]------------------------------------------------------------------------ 
    [INFO] Building MediaAssistantWebService 
    [INFO] task-segment: [clean, install] 
    [INFO]------------------------------------------------------------------------ 
    [...] 
    [INFO] Using 'UTF-8' encoding to copy filtered resources. 
    [INFO] Copying 1 resource 
    Downloading: http://repositories.dai-labor.de/extern/content/repositories/dai-open/com/sun/jersey/jersey-server/1.5/jersey-server-1.5.pom 
    [INFO] Unable to find resource 'com.sun.jersey:jersey-server:pom:1.5' in repository dai-open (http://repositories.dai-labor.de/extern/content/repositories/dai-open) 
    Downloading: http://download.java.net/maven/2//com/sun/jersey/jersey-server/1.5/jersey-server-1.5.pom 10K downloaded (jersey-server-1.5.pom) 
    Downloading: http://maven.glassfish.org/content/groups/glassfish/com/sun/jersey/jersey-project/1.5/jersey-project-1.5.pom 185b downloaded (jersey-project-1.5.pom) 
    [WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '6c9fd3d150b8a5f0ca676f49b8ed603793cabebb'; remote = '<html><head><title>301' - RETRYING 
    Downloading: http://maven.glassfish.org/content/groups/glassfish/com/sun/jersey/jersey-project/1.5/jersey-project-1.5.pom185b downloaded (jersey-project-1.5.pom) 
    [WARNING] *** CHECKSUM FAILED - Checksum failed on download: local '6c9fd3d150b8a5f0ca676f49b8ed603793cabebb'; remote = '<html><head><title>301' - IGNORING 
    [INFO] ------------------------------------------------------------------------ 
    [ERROR] BUILD ERROR 
    [INFO] ------------------------------------------------------------------------ 
    [INFO] Error building POM (may not be this project's POM). 

    Project ID: null:jersey-server:bundle:null 

    Reason: Cannot find parent: com.sun.jersey:jersey-project for project: null:jersey-server:bundle:null for project null:jersey-server:bundle:null 

Así que busqué en Google y el internet dijo que debería agregar este repositorio a mi pom para que maven lo vea primero.

<repository> 
    <id>maven2-repository.dev.java.net</id> 
    <name>Java.net Repository for Maven</name> 
    <url>http://download.java.net/maven/2/</url> 
    <layout>default</layout> 
</repository> 

Pero eso no hizo nada. Eliminé mi carpeta jersy en mi carpeta .m2 y probé mvn clean compile nuevamente y todavía intenta descargar si es de este servidor glassfish-404.

¿Alguien sabe lo que tengo que cambiar para que se descargue correctamente?

Respuesta

13

intenta agregar repositorio del centro experto antes de que otros:

<repositories> 
    <repository> 
     <id>maven-central</id> 
     <url>http://repo1.maven.org/maven2</url> 
    </repository> 
    ... 
</repositories> 

mejor opción sería la puesta en marcha del servidor de nexo y deshacerse de las secciones del repositorio en los archivos del pom: http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/

+0

No funcionó para mí. Todavía el mismo error. –

4

Si miras el pom que es referencias por jersey, incluye algún repo de glassfish.org. http://download.java.net/maven/2//com/sun/jersey/jersey-server/1.5/jersey-server-1.5.pom

<repositories> 
    <repository> 
     <id>glassfish-repository</id> 
     <name>Repository for Glassfish</name> 
     <url>http://maven.glassfish.org/content/groups/glassfish</url> 
    </repository> 
</repositories> 

Cuando las dependencias transitivas se trataron de descarga, el servidor envía una respuesta de redirección, por lo tanto, se ve el error de suma de comprobación en el registro que proporcionó.

probar esto en el navegador: http://maven.glassfish.org/content/groups/glassfish/com/sun/jersey/jersey-project/1.5/jersey-project-1.5.pom

Sé que esto no es una solución a su problema (y demasiado complicado), pero puede que tratar de mvn install las dependencias necesarias para jerser-Server 1.5 localmente de manera que no lo hace Intenta descargar esos?

0

Supongo que sería una fantasía pensar que incluir todas las dependencias en la descarga sería sensato. Por supuesto, es mejor tener Maven descargarlos. ¡Es muy divertido pasar horas y horas rastreando qué estúpido repositorio o frasco de hinchazón innecesario no se puede encontrar! Sé que debo apoyar a la mayoría en este caso, ya que nadie más se atreve a sugerir lo contrario.

3

La única solución que funcionó para mí fue agregar un espejo en la configuración.xml para el repositorio de GlassFish:

<mirror> 
    <id>glassfish-mirror</id> 
    <name>glassfish mirror</name> 
    <url>http://maven.nuxeo.org/nexus/content/repositories/public-releases</url> 
    <mirrorOf>glassfish-repository</mirrorOf> 
</mirror> 

Como se explicó here

+0

Esta solución funcionó para mí. –

0

Simplemente añadiendo:

<repository> 
    <id>maven-central</id> 
    <url>http://repo1.maven.org/maven2</url> 
</repository> 

Para mi pom.xml funcionó bien

Cuestiones relacionadas