¿Por qué una dependencia con alcance “provisto” oculta las dependencias transitivas en Maven?

Tengo tres módulos en mi proyecto de Maven (esto está un poco simplificado):

modelo contiene clases de entidad anotada JPApersistencia crea una instancia deEntityManager y llama a los metodos en ellosolicitud crea instancias de las clases enmodelo, establece algunos valores y los pasa apersistencia

modelo ypersistencia obviamente depende dejavax.persistence, perosolicitud No debería, creo.

losjavax.persistence la dependencia se traslada a un POM de nivel superiordependencyManagement Sección porque se produce en una serie de submódulos en los que solo hago referencia a esa entrada.

Lo que me sorprende es que tengo que hacer referencia a la dependencia enapplication cuando establezco su alcance aprovided, mientras que no tengo que hacerlo cuando su alcance escompile.

Con un alcance deprovided, si no lo enumero en eldependencies parasolicitud, la compilación falla con un mensaje de error de javac:

com.sun.tools.javac.code.Symbol $ CompletionFailure: archivo de clase para javax.persistence.InheritanceType no encontrado

¿Que esta pasando?

Respuestas a la pregunta(3)

Su respuesta a la pregunta