java - mvc - Falta el POM para el proyecto, no hay información de dependencia disponible
spring mvc 4 tutorial español (2)
Cambio:
<!-- ANT4X -->
<dependency>
<groupId>net.sourceforge</groupId>
<artifactId>ant4x</artifactId>
<version>${net.sourceforge.ant4x-version}</version>
<scope>provided</scope>
</dependency>
A:
<!-- ANT4X -->
<dependency>
<groupId>net.sourceforge.ant4x</groupId>
<artifactId>ant4x</artifactId>
<version>${net.sourceforge.ant4x-version}</version>
<scope>provided</scope>
</dependency>
El groupId
de net.sourceforge
de groupId
era incorrecto. El valor correcto es net.sourceforge.ant4x
.
Fondo
Intentando agregar una biblioteca Java al repositorio local de Maven usando una instalación limpia de Apache Maven 3.1.0, con Java 1.7. Así es como se agregó el archivo de archivo de Java:
mvn install:install-file /
-DgroupId=net.sourceforge.ant4x /
-DartifactId=ant4x /
-Dversion=0.3.0 /
-Dfile=ant4x-0.3.0.jar /
-Dpackaging=jar
Esto creó la siguiente estructura de directorio:
$HOME/.m2/repository/net/sourceforge/ant4x/
├── 0.3.0
│ ├── ant4x-0.3.0.jar.lastUpdated
│ └── ant4x-0.3.0.pom.lastUpdated
└── ant4x
├── 0.3.0
│ ├── ant4x-0.3.0.jar
│ ├── ant4x-0.3.0.pom
│ └── _remote.repositories
└── maven-metadata-local.xml
El archivo pom.xml
del proyecto hace referencia al proyecto dependiente (el árbol anterior) de la siguiente manera:
<properties>
<java-version>1.5</java-version>
<net.sourceforge.ant4x-version>0.3.0</net.sourceforge.ant4x-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
...
<dependency>
<groupId>net.sourceforge</groupId>
<artifactId>ant4x</artifactId>
<version>${net.sourceforge.ant4x-version}</version>
<scope>provided</scope>
</dependency>
Problema
Después de ejecutar mvn compile
, se devolvió el siguiente error ( registro completo en Pastebin ):
[ERROR] Failed to execute goal on project ant4docbook: Could not resolve dependencies for project net.sourceforge:ant4docbook:jar:0.6-SNAPSHOT: Failure to find net.sourceforge:ant4x:jar:0.3.0 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]
La documentation señala una serie de problemas que podrían estar presentes, sin embargo, ninguno de ellos parece aplicarse.
Ideas
Intenté lo siguiente, según la documentación:
- Copie la configuración predeterminada al directorio de inicio del usuario para Maven:
cp /opt/apache-maven-3.1.0/conf/settings.xml $HOME/.m2/.
- Edite el archivo settings.xml del usuario.
- Actualice el valor para el repositorio local:
${user.home}/.m2/repository
- Guarda el archivo.
También probé los siguientes comandos:
mvn -U
mvn clear -U
Intenté usar Maven 3.0.5, pero eso también falló.
Pregunta
¿Cómo fuerza a Maven a utilizar la versión local de la biblioteca, en lugar de intentar buscar una biblioteca que todavía no está disponible para descargar?
Relacionado
Preguntas relacionadas e información que no resolvió el problema:
- El POM para org.springframework.security:org.springframework.security.web:jar:3.0.5.RELEASE falta, no hay información de dependencia disponible
- ¿Cómo puedo ubicar el POM que solicita un POM faltante?
- Maven: incluye jar que no se encuentra en el repositorio público
- http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
- http://giallone.blogspot.ca/2012/12/maven-install-missing-offline.html
El alcance <scope>provided</scope>
le da la oportunidad de decir que el jar estaría disponible en tiempo de ejecución, así que no lo agrupe. No significa que no lo necesite en tiempo de compilación, por lo tanto, Maven intentará descargarlo.
Ahora creo que el artefacto de abajo no existe en absoluto. Intento buscar en Google, pero no puedo encontrar. Por lo tanto, estás recibiendo este problema.
Cambie groupId
a <groupId>net.sourceforge.ant4x</groupId>
para obtener el último jar.
<dependency>
<groupId>net.sourceforge.ant4x</groupId>
<artifactId>ant4x</artifactId>
<version>${net.sourceforge.ant4x-version}</version>
<scope>provided</scope>
</dependency>
EDITAR:
La solución para este problema, una de las soluciones es
- Ejecuta tu propio repositorio maven.
- descarga el frasco
- Instala el jar en el repositorio.
- Agregue un código en su pom.xml algo así como:
.
where http://localhost/repo is your local repo URL
<repositories>
<repository>
<id>wmc-central</id>
<url>http://localhost/repo</url>
</repository>
..................... Other repository config ......................
</repositories>