Se supone que este es un proyecto de trabajo de mi amigo. Él demostró el proyecto justo en frente de mí, y luego copié el proyecto, lo importé como un proyecto Maven existente (estoy usando el m2eclipse
complemento).
Y luego, se produce este error. Este error se puede reproducir cada vez que intento construir algo con Maven.
Hacer mvn dependency: tree, dependency: list, o el paquete de compilación habitual, dará como resultado el mismo error.
El error al ejecutar la compilación 'package' desde eclipse es:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Jackpot Portal Webapp 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for javax.servlet:com.springsource.javax.servlet:jar:2.5.0 is missing, no dependency information available
[WARNING] The POM for javax.servlet:com.springsource.javax.servlet.jsp.jstl:jar:1.2.0 is missing, no dependency information available
[WARNING] The POM for javax.transaction:com.springsource.javax.transaction:jar:1.1.0 is missing, no dependency information available
[WARNING] The POM for org.slf4j:com.springsource.slf4j.log4j:jar:1.5.6 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.963s
[INFO] Finished at: Tue Jan 11 01:55:41 WIT 2011
[INFO] Final Memory: 2M/56M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project jackpot: Could not resolve dependencies
for project com.jeteo:jackpot:war:1.0-SNAPSHOT: The following artifacts could
not be resolved: javax.servlet:com.springsource.javax.servlet:jar:2.5.0,
javax.servlet:com.springsource.javax.servlet.jsp.jstl:jar:1.2.0,
javax.transaction:com.springsource.javax.transaction:jar:1.1.0,
org.slf4j:com.springsource.slf4j.log4j:jar:1.5.6: Failure to find
javax.servlet:com.springsource.javax.servlet:jar:2.5.0 in
http://repository.springsource.com/maven/bundles/release was cached in the
local repository, resolution will not be reattempted until the update
interval of com.springsource.repository.bundles.release has elapsed or
updates are forced -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[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/DependencyResolutionException
Y aquí está el contenido de pom.xml
:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jeteo</groupId>
<artifactId>jackpot</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>Jackpot Portal Webapp</name>
<url>http://www.jeteo.com</url>
<properties>
<java-version>1.6</java-version>
<org.springframework-version>3.0.3.RELEASE</org.springframework-version>
<org.hibernate-version>3.6.0.Final</org.hibernate-version>
<org.aspectj-version>1.6.9</org.aspectj-version>
<org.slf4j-version>1.5.10</org.slf4j-version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.sf.jt400</groupId>
<artifactId>jt400</artifactId>
<version>6.6</version>
<scope>compile</scope>
</dependency>
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${org.hibernate-version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${org.hibernate-version}</version>
<scope>compile</scope>
</dependency>
<!-- AspectJ -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>com.springsource.javax.servlet</artifactId>
<version>2.5.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>com.springsource.javax.servlet.jsp.jstl</artifactId>
<version>1.2.0</version>
<scope>provided</scope>
</dependency>
<!--
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>com.springsource.javax.persistence</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
-->
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>com.springsource.javax.transaction</artifactId>
<version>1.1.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>com.springsource.slf4j.log4j</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.11</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
<repositories>
<!-- Spring releases -->
<repository>
<id>com.springsource.repository.bundles.release</id>
<name>Spring Maven Repository Repository</name>
<url>http://repository.springsource.com/maven/bundles/release</url>
</repository>
<!-- For hibernate 3.6 support -->
<repository>
<id>jboss</id>
<url>https://repository.jboss.org/nexus/content/groups/public/</url>
</repository>
</repositories>
<build>
<finalName>jackpot</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<url>http://localhost:8080/manager</url>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Intenté descargar la versión más nueva de maven, y la incluí en el eclipse helios, pero sigue siendo el mismo problema. El mismo mensaje de error ocurre incluso cuando lo ejecuto en la línea de comando de shell (fuera del eclipse).
¿Qué me estoy perdiendo?
Respuestas:
Parece que te faltan algunos repositorios de Maven. Pide el de tu amigo
.m2/settings.xml
y probablemente quieras actualizar el POM para incluir los repositorios allí.--editar: después de buscar rápidamente en Google, intente agregar esto a su POM:
fuente
.m2/settings.xml
puede especificar listados de repositorio fuera de los estándares enrepo.maven.apache.org
. En este caso, los JAR provienen de un repositorio SpringSource y no están en Maven Central. Supuse que el amigo tenía los repositorios SpringSource listados en local.m2/settings.xml
, sin causar errores de búsqueda porque los artefactos se encontrarían en repositorios alternativos de Maven. En cambio, los JAR se almacenaron en caché y no se realizaron búsquedas en absoluto.Maven mantuvo sus archivos en caché, y no vuelva a intentar descargarlos. Simplemente puede 'ayudarlo' manualmente eliminando el directorio .m2, y luego nuestro amigo descargará todo a través de las dependencias anteriores.
fuente
Como una fuente alternativa al mismo problema, esta respuesta cita el uso de Maven 3 versus Maven 2 como la posible causa de este problema. Por lo que puedo decir, esto se debe a los cambios en la resolución del repositorio local que se cambió en Maven 3. Poniendo esto aquí en caso de que alguien más busque en Google y llegue a esta respuesta (como lo hice yo).
fuente
Las
artifactId
de todas las dependencias que no se pudieron descargar son incorrectas, por alguna razón tienen el prefijocom.springsource
. Cortar / pegar problema?Puede intentar reemplazarlos de la siguiente manera.
También es posible que desee agregar el repositorio central de maven para estos artefactos en caso de que no estén disponibles en los repositorios especificados.
fuente
Descargue el jar manualmente y luego ejecute el comando desde la carpeta donde se guarda el jar:
El
jar file
,jar_file_name
,group_id
,artifact_id
yversion_no
están disponibles en la página repositorio maven.fuente
He tenido un problema similar y lo solucioné agregando los siguientes repositorios en mi pom.xml:
fuente
Resuelto mi problema Como los repositorios se almacenaron en caché, necesitaba forzarlo para obtener la última versión.
fuente
Tengo un mensaje similar y mi problema eran algunas preferencias de proxy en mi settings.xml. Así que los desactivé y todo funciona bien.
fuente
Este tipo de problemas son causados por dos razones:
Si se pueden descargar la mayoría de las dependencias, entonces la razón 1 puede ser el error más probable. Por el contrario, si la mayoría de las dependencias tienen el problema, entonces debería echar un vistazo a settings.xml .
Bueno, he tratado de solucionar mi problema toda la tarde, y finalmente lo conseguí. Mi problema ocurre en settings.xml, no la pérdida o la ortografía incorrecta de settings.xml , sino la pérdida de activeProfiles .
fuente
Tuve este problema En mi caso, fue causado por IntelliJ Idea jugando con algunos de los archivos pom.xml (¡lo que parece disfrutar haciendo!). ¡Acabo de volver a la copia original y las cosas volvieron a funcionar!
fuente
También tuve este problema, resultó que fue debido a que NetBeans agregó algo a mi archivo pom.xml. Verifique que no se haya agregado nada desde implementaciones exitosas anteriores.
fuente
Mi proyecto EAR tenía 2 módulos * .ear y * .war y obtuve este error de dependencia en el
*.war
proyecto al intentarlomvn eclipse:eclipse
. Lo resolvió solucionando el problema de codificación utf-8 en el*.war
proyecto.mvn
-X
u-e
opciones no fueron de ayuda aquí.fuente
Resulta que sucedió debido al firewall en mi computadora. Apagarlo funcionó para mí.
fuente
Me he encontrado con tal problema. La causa raíz es la carpeta .m2. Debes asegurarte de que todo lo que intentas acceder esté presente en tu carpeta .m2 (este es tu repositorio local). Si las cosas están ahí, entonces eres bueno. Esto generalmente está presente dentro de la carpeta de usuarios en su sistema (ya sea mac / linux o incluso windows)
fuente