es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

“mvn dependency:tree -Dverbose se cuelga y nunca termina.”

Tengo un conflicto de versiones en las dependencias transitivas de mi proyecto, y estoy tratando de usar mvn dependency:tree -Dverbose para encontrar el conflicto de versiones. Sin embargo, cada vez que ejecuto mvn dependency:tree -Dverbose, simplemente se cuelga y nunca termina.

Intenté usar el modo de depuración (mvn --debug dependency:tree -Dverbose) para averiguar qué está sucediendo, y parece que se está conectando a cientos y cientos de repositorios, que no he definido en ningún lugar de mi proyecto, escribiendo archivos de seguimiento, utilizando conectores, transportadores, etc… Ver el enlace de Pastebin aquí para ver un pequeño fragmento de las cosas que hace durante horas y horas: https://pastebin.com/raw/L3z4u5Hj

Esto no ocurre cuando no incluyo la bandera -Dverbose: mvn dependency:tree por sí solo es muy rápido y se completa en segundos.

Además, esto no sucede en otros repositorios o bases de código que tengo: solo en uno específico. Pero obviamente no sé qué es diferente en este repositorio en comparación con los otros, solo que las dependencias son diferentes (asumiendo que alguna dependencia es la causa del problema).

Parece que otras personas en la lista de correo oficial de Maven también se encontraron con este problema, pero parece que tampoco pudieron resolverlo: https://www.mail-archive.com/users@maven.apache.org/msg143124.html

Cualquier ayuda será apreciada. Si no puedo resolver esto, tendré que eliminar las dependencias una por una hasta encontrar la que está causando el problema, y eso llevará mucho tiempo porque este es un código base muy grande.

Versión de Maven:

Apache Maven 3.6.0
Maven home: /usr/share/maven
Versión de Java: 11.0.10, proveedor: Ubuntu, tiempo de ejecución: /usr/lib/jvm/java-11-openjdk-amd64
Configuración regional predeterminada: en_US, codificación de plataforma: UTF-8
Nombre del sistema operativo: "Linux", versión: "4.15.0-54-generic", arquitectura: "amd64", familia: "unix"
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El árbol de dependencias de Maven se bloquea con la bandera -Dverbose

    Si experimenta un bloqueo al ejecutar mvn dependency:tree -Dverbose y parece estar conectándose a un gran número de repositorios, hay algunos pasos que puede tomar para intentar resolver el problema.

    Primero, intente ejecutar el mismo comando sin la bandera -Dverbose. Si el comando se completa rápidamente, es probable que el problema esté relacionado con la salida detallada y no con un problema inherente de las dependencias en sí.

    Si el problema persiste, intente actualizar su versión de Maven a la última versión disponible. En algunos casos, versiones más nuevas de Maven han corregido errores relacionados con la resolución del árbol de dependencias.

    También puede intentar excluir dependencias transitivas específicas que pueden estar causando conflictos. Para hacer esto, agregue una exclusión a su archivo pom.xml para la dependencia problemática. Por ejemplo:

    <dependencies>
      <dependency>
        <groupid>com.example</groupid>
        <artifactid>problematic-dependency</artifactid>
        <version>1.0.0</version>
        <exclusions>
          <exclusion>
            <groupid>com.transitive</groupid>
            <artifactid>dependency</artifactid>
          </exclusion>
        </exclusions>
      </dependency>
    </dependencies>
    

    Esto excluirá el artefacto com.transitive:dependency que puede estar causando conflictos con su proyecto.

    Si ninguno de estos pasos funciona, es posible que deba recurrir a eliminar las dependencias una por una hasta encontrar la que está causando el problema. Este proceso puede llevar mucho tiempo, pero puede ser necesario para resolver el conflicto.

    Es importante tener en cuenta que este problema puede ser específico de su proyecto y sus dependencias, ya que otros usuarios en la lista de correo de Maven han informado problemas similares sin encontrar solución.

Comments are closed.