Solución:
Ok, creo que voy a responder yo mismo. Por supuesto, eché un vistazo a dependency: tree, pero todas las dependencias que mencioné eran miembros de primer nivel del árbol. Lo que no me di cuenta de inmediato, es que dependencyManagement
no está presente en el padre, pero sin embargo está presente en los submódulos y, lo que es más interesante, contiene:
<dependency>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>1.0.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Nunca antes había usado Spring IO Platform, así que este es un concepto totalmente nuevo para mí. Resulta que la plataforma incluye bastantes dependencias preconfiguradas: http://docs.spring.io/platform/docs/current/reference/htmlsingle/#appendix-dependency-versions
Es imposible que maven funcione sin definir versiones de los artefactos. Deben definirse en algún lugar de la etiqueta dependencyManagement, ya sea en el submódulo o en el padre. Comprueba tu jerarquía de pom. Usar mvn help:effective-pom
en el directorio de submódulos del proyecto. También puedes usar mvn dependency:tree
para averiguar qué artefactos, junto con la información completa del artefacto, incluidos los números de versión, se resuelven en el resultado de la gestión de dependencias.
Usar
mvn -P<my_profile_of_interest> help:effective-pom -Dverbose
El modo detallado (desde: 3.2.0) agrega comentarios XML que contienen una referencia precisa a un lugar de donde proviene la declaración de dependencia.