Pregunta Diferencia entre las configuraciones de compilación y tiempo de ejecución en Gradle


Mi pregunta es un poco común, pero también está relacionada con Gradle.

¿Por qué necesitamos compilación y configuración en tiempo de ejecución?

Cuando compilo algo, necesito artefactos para convertir mis clases de Java en bytecode, así que necesito compilar la configuración, pero ¿por qué es necesaria la configuración del tiempo de ejecución? ¿Necesito algo más para ejecutar mi aplicación en JVM?

Lo siento si suena estúpido, pero no entiendo.


74
2018-05-22 20:23


origen


Respuestas:


En el caso más común, los artefactos necesarios en tiempo de compilación son un subconjunto de los necesarios en tiempo de ejecución. Por ejemplo, digamos que un programa llamado app usa biblioteca fooy biblioteca foo  internamente usa biblioteca bar. Entonces solo foo es necesario compilar app, sino ambos foo y bar son necesarios para ejecutarlo. Es por eso que por defecto, todo lo que pones en Gradle compile la configuración también es visible en su runtime configuración, pero lo opuesto no es verdad.


105
2018-05-22 20:40