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:
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
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 dependenciacamel-syslog
, obtengo el siguiente error:Estoy utilizando Maven 3.6.3.