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.

Dependencia transitoria en un reactor Maven con JDK17.

Estoy en el proceso de actualizar una aplicación grande a JDK17.
Hoy, el proyecto se compila bien con JDK11 y maven.

Con JDK17, tengo un problema muy extraño con las versiones de las dependencias transitivas.

Este proyecto está compuesto por varios sub módulos. Si compilo un módulo directamente, funciona bien.

Sin embargo, si compilo el módulo raíz o cualquier módulo que contenga sub módulos, la resolución de las dependencias transitivas no funciona. Tengo errores como el siguiente:

[INFO] -------------------------------[ bundle ]-------------------------------

Downloading from internal-repository: http://srv:8080/nexus/content/groups/public/org/apache/camel/camel-netty4/$%7Bproject.version%7D/camel-netty4-$%7Bproject.version%7D.pom

[WARNING] The POM for org.apache.camel:camel-netty4:jar:${project.version} is missing, no dependency information available

Downloading from internal-repository: http://srv:8080/nexus/content/groups/public/org/apache/camel/camel-netty4/$%7Bproject.version%7D/camel-netty4-$%7Bproject.version%7D.jar

La versión de la dependencia es ${project.version} en lugar de la versión real. El proyecto no utiliza camel-netty4 directamente sino camel-syslog:


org.apache.camel
camel-syslog
${camel.version}

Este es solo un ejemplo, otros proyectos fallan con otras dependencias transitivas. Y funciona si compilo el sub-módulo directamente.

Maven 3.6.3

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Estoy teniendo un problema con las versiones de dependencias transitivas al compilar el módulo raíz o cualquier módulo que contenga submódulos con JDK17. Cuando compilo el módulo directamente, funciona bien.

    La versión de la dependencia es ${project.version} en lugar de la versión real. Por ejemplo, cuando intento compilar la dependencia camel-syslog, obtengo el siguiente error:

    [INFO] -------------------------------[ bundle ]-------------------------------
    
    Downloading from internal-repository: http://srv:8080/nexus/content/groups/public/org/apache/camel/camel-netty4/$%7Bproject.version%7D/camel-netty4-$%7Bproject.version%7D.pom
    
    [WARNING] The POM for org.apache.camel:camel-netty4:jar:${project.version} is missing, no dependency information available
    
    Downloading from internal-repository: http://srv:8080/nexus/content/groups/public/org/apache/camel/camel-netty4/$%7Bproject.version%7D/camel-netty4-$%7Bproject.version%7D.jar
    
    

    Estoy utilizando Maven 3.6.3.

Comments are closed.