Olá Fernando tudo bem?
Esse tipo de escopo é comum quando temos um carregamento de classe dinamicamente.
Vamos supor (hipoteticamente) que você esteja utilizando jdbc
manualmente. E você precise conectar-se à um banco mysql
.
Em algum momento do seu código você vai precisar carregar o driver do mysql
para poder se conectar à ele.
E poderia ter um código mais ou menos assim:
Class.forName("com.mysql.jdbc.Driver")
;
Se no seu classpath
não tiver a classe com.mysql.jdbc.Driver
seu projeto compila normalmente. Só que em tempo de execução vai ser lançada uma exception ClassNotFoundException
.
E aí que entra dependências de Runtime
.
Elas servem justamente para esse cenário, onde temos que ter determinada classe somente em tempo de execução.
Espero ter ajudado e bons estudos.