Espero que alguien pueda ayudarme con un problema con el que estoy luchando.
Cuando intento construir mi proyecto desde la terminal me sale este error:
Failed to read artifact descriptor for com.morrislgn.merchandising.common:test-data-utils:jar:0.3b-SNAPSHOT: Could not find artifact com.morrislgn.merchandising:merchandising:pom:0.3b-SNAPSHOT
El common.test-data-utils
jar es creado por un proyecto separado y compartido entre este y otro proyecto (el otro proyecto tampoco se construye, pero eso se debe a otro problema).
Puedo construir com.morrislgn.merchandising.common:test-data-utils
sin problemas, puedo ver la entrada que hace en el .m2
repositorio local de mi máquina. También he reindexado mi repositorio en Eclipse.
El POM para mi proyecto tiene esta entrada:
<dependency>
<groupId>com.morrislgn.merchandising.common</groupId>
<artifactId>test-data-utils</artifactId>
<version>0.3b-SNAPSHOT</version>
</dependency>
Lo que parece ser correcto para mí: el POM tampoco informa ningún error cuando se ve en Eclipse.
¿Alguien puede decirme qué me estoy perdiendo aquí o qué estoy haciendo mal?
fuente
~/.m2/setting.xml
primero a su sección espejo y luego, después de ejecutarlomvn -U clean install
, asegúrese deReimport
(haga clic con el botón derecho en el proyecto, luego debajo de laMaven
sección inferior hay unReimport
botón )Este problema puede ocurrir si tiene algunos proyectos secundarios que hacen referencia a un pom principal y no lo ha instalado desde el directorio pom principal (ejecutado
mvn install
desde el directorio principal). Uno de los proyectos secundarios puede depender de un proyecto hermano y cuando vaya a leer el pom del hermano, fallará con el error mencionado en la pregunta a menos que lo haya instalado desde el directorio pom padre al menos una vez.Me encontré con este problema al mover un proyecto a una computadora nueva. Tenía la costumbre de ejecutar comandos desde el proyecto hijo y no ejecuté install en el padre.
fuente
mvn install
en padre, también puede agregar-N
para una operación no recursiva. Esto hará que Maven omita todos los módulos (incluido uno que falla) y solo haga uninstall
objetivo para el padre.mvn install
en el pom padre? ¿No se usaría esto solo para que la dependencia entre hermanos se pueda descargar? Simvn install
resulta que fue al directorio de hermanos y corrió desde allí para que el jar esté en su repositorio local, ¿no logra esto exactamente lo mismo?Tuve el mismo problema con IntelliJ IDEA y lo siguiente funcionó.
File
Settings
Build, Execution, Deployments
Build Tools
del menú desplegableMaven
del menú desplegableAlways update snapshots
casilla de verificaciónfuente
Si está utilizando Eclipse, haga clic derecho en su proyecto -> Maven -> Actualizar proyecto . Se abrirá el cuadro de diálogo Actualizar proyecto Maven.
En ese cuadro de diálogo, marque la casilla Forzar actualización de instantáneas / lanzamientos y haga clic en Aceptar . (Consulte la imagen a continuación)
¡Esto funcionó para mí!
fuente
Si está utilizando eclipse, haga clic con el botón derecho en proyecto -> propiedades -> Maven y asegúrese de que no se haga clic en " Resolver dependencias de proyectos de espacio de trabajo ".
Espero que esto ayude.
fuente
Sé que llego bastante tarde a la conversación, pero también tuve este problema. Creo que el problema era el firewall de mi empresa. Mi solución fue desconectarme de la red, conectarme a nuestra red inalámbrica abierta y luego forzar una actualización a través de Eclipse. Esto resolvió todo.
fuente
Tuve el mismo problema con eclipse donde la línea de comando de compilación de Maven funcionó bien PERO intente esto
El error desaparece ... por qué mi línea de comando mvn funcionó con esos directorios y eclipse .m2eclipse no pudo, no tengo idea y apesta un poco. Mi proyecto ahora está trabajando en eclipse nuevamente.
fuente
mvn clean install
funcionóTuve el mismo problema usando IntelliJ. Resolví haciendo clic derecho en pom.xml> Maven> Reimportar
fuente
Resolví este problema eliminando en las carpetas del repositorio donde se mostraba este error, excepto los archivos .jar y .pom.
fuente
Los problemas de "Error al leer el descriptor de artefactos" generalmente indican un problema con el archivo pom de la dependencia en el repositorio maven. Le sugeriría que verifique dos veces si el nombre del archivo pom es el mismo que el que Maven espera, y también que verifique si el contenido del archivo pom es válido.
fuente
Para mí, estaba relacionado con la configuración de "User Setting.xml" dentro
fuente
Tengo un proyecto
Ahora hay otro proyecto en nuestra organización.
(Cada módulo a1, b1, etc. y los proyectos principales A, B tienen su propio pom.xml según las reglas estándar de padres e hijos)
Ambos proyectos se verifican en mi eclipse local (de SVN). Estoy trabajando activamente en A.
Llegué a saber que hay una buena funcionalidad común (b4) desarrollada en B y que necesitaba usarla.
Los desarrolladores de b4 han implementado este módulo b4 como un artefacto en el repositorio de nuestra organización. Incluí la dependencia del POM de mi módulo, es decir, p2.xml de a2. Eclipse descargó el artefacto requerido de repo y pude importar las clases en él.
Ahora comienza el problema ... Necesitaba verificar el código fuente de b4 para algún propósito y como ya tenía B desprotegido en mi eclipse local, lo actualicé desde SVN y desprotegí el módulo b4. También ejecuté pom.xml del módulo b4 con objetivos como clean, package, etc. Después de un tiempo cuando terminé mi codificación, necesitaba crear un JAR de mi módulo a2. ¡Ejecuté "package" en p2.xml y BAM de a2! errores n errores para el módulo a2 .. Estos errores tampoco fueron muy fáciles de usar. Lo único es que había un nombre de b4 seguro en los registros.
Solución: Después de probar muchas soluciones durante muchas horas, ejecuté "mvn -U clean install" desde la consola en la directriz de proyecto de mi B (es decir, en ../codebase/B). Como B es el padre, el comando de instalación limpia se ejecutó para todos los módulos, incluido b4, y se ejecutó correctamente. Después de esto, ejecuté "mvn -U clean install" para mi proyecto principal que es A. ¡Y esto funcionó! El módulo a2 se compiló, instaló (empaquetó más adelante) con éxito.
Aquí el punto importante era si b4 está en su espacio de trabajo, no solo instale b4. Tendrá que limpiar e instalar el B. completo. Llegué a esta solución después de leer la respuesta de Zuill.
EDITAR: Una cosa más aquí para tener en cuenta que si no tuviera el proyecto B desprotegido en el entorno local, este problema podría no haber ocurrido para mí. Tiendo a pensar que esto sucedió porque hice que B revisara en mi espacio de trabajo local.
fuente
Menciona dos ID de grupo diferentes
com.morrislgn.merchandising.common
ycom.johnlewis.jec.webpim.common
. quizá este es el problema.fuente
Error de referencia de Maven "Error al transferir ..."
fuente
No tuve suerte actualizando a través de eclipse. Tuve que usar mvn clean install -U (que resolvió todo).
fuente
Para mí, parece haber sido realmente un problema con la dependencia POM.
Lo solucioné utilizando el repositorio virtual jitpack, con el que puede incluir repositorios github en función de su URL en lugar de su propio POM (que parece haber sido erróneo en mi caso).
fuente
Tuve el mismo problema por un tiempo y, a pesar de hacerlo, ¡
mvn -U clean install
el problema no se resolvió!Finalmente resolví el problema eliminando toda la
.m2
carpeta y luego reinicié mi IDE y el problema desapareció.Entonces, a veces el problema aumentaría debido a algunas incompatibilidades o problemas en su repositorio local de Maven.
fuente
En nuestro caso, el error apareció debido al cambio de nombre incorrecto de groupId, mientras que algunos de los proyectos en la configuración de Maven de varios módulos hacen referencia a otros.
Teníamos un proyecto agregador (
billing-parent
) con dos módulos (billing-api
,billing
):El proyecto
billing
depende debilling-api
. Entonces en supom.xml
tenía:Decidimos cambiar el nombre de groupId de
com.company.team
acom.company.team.billing
. Reemplazamos el valor anterior en los padrespom.xml
y en las<parent>
secciones de ambos módulos. Pero olvidé actualizar la dependencia anterior. Así que obtuvimos una configuración en la cual elbilling
proyecto hace referencia abilling-api
artefactos antiguos . Eventualmente, la construcción delbilling
módulo no funciona después de un tiempo con el error como[ERROR] Failed to execute goal on project billing: Could not resolve dependencies for project com.company.team.billing:billing:jar:3.5.1-SNAPSHOT: Failed to collect dependencies at com.company.team:billing-api:jar:3.5.1-SNAPSHOT: Failed to read artifact descriptor for com.company.team:billing-api:jar:3.5.1-SNAPSHOT: Failure to find <parent of the com.company.team:billing-parent project which is not available any more>
a pesar de que el
billing-api
módulo se construye sin errores.Solución 1: cambio de nombre
groupId
endependency
también.Solución 2: reemplazar
groupId
por la${project.groupId}
propiedad de esta manera:Conclusión. Entonces, mi consejo en caso de que se encuentre con el error en la configuración de varios módulos debería ser: verificar a fondo
groupId
yartifactId
las dependencias de los módulos vecinos.fuente
Navegue a través del shell dentro de la carpeta de su proyecto y ejecute el siguiente comando:
Por lo general, esto ya debería resolver su problema.
Si ve un mensaje como este:
Luego ejecuta:
seguido por:
nuevamente para finalmente actualizar sus dependencias.
Luego realice la construcción limpia maven:
fuente
Tuve un problema similar. En mi caso, la versión de testng en mi carpeta .m2 / repositorios estaba dañada, pero cuando la eliminé e hice una actualización de Maven nuevamente, todo funcionó bien.
fuente
Tuve este problema en eclipse,
mvn -U clean install
no funcionó, pero al hacer clic derecho en el proyecto y seleccionar Maven-> Actualizar proyecto lo solucioné.fuente
Acabo de comenzar a usar STS Eclipse con Maven por primera vez. El proyecto que configuré ya tenía su propia configuración.xml. Si este es el caso, querrás actualizar tu archivo settings.xml en la configuración de ejecución.
haga clic derecho en pom.xml y "Ejecutar como" -> "Ejecutar configuraciones ..."
donde dice "Configuración de usuario", haga clic en el botón Archivo y agregue settings.xml.
Creo que esto es específico para su proyecto, pero mis "Objetivos" están configurados como "instalación limpia" y verifiqué "Omitir pruebas".
fuente
Este error básicamente dice que maven no pudo leer una cierta dependencia del repositorio local. Puede suceder porque un archivo jar no se descargó correctamente. Por lo tanto, vaya a su repositorio local de Maven y asegúrese de que no haya ningún archivo de extensión .lastUpdated .
fuente
Esto me ayudó:
Del IDE (Red Hat CodeReady Studio en mi caso).
Windows -> Mostrar vista -> Terminal -> Abrir / Agregar terminal local
Ejecute los comandos de la siguiente manera>
PS
cd /pom-file-path/
PS
mvn -U clean install
fuente
Resolví este problema cambiando el maven setting.xml y el repositorio
fuente