Gradle中编译和运行时configuration的区别
我的问题有点普遍,但也和Gradle有关系。
为什么我们需要编译和运行时configuration?
当我编译的东西我需要工件来转换我的Java类字节码,所以我需要编译configuration,但为什么需要运行时configuration我需要别的东西来运行我的应用程序在JVM中?
对不起,如果听起来很愚蠢,但我不明白。
在最常见的情况下,编译时所需的构件是运行时所需的子集。 例如,假设一个名为app
使用库foo
,而库foo
内部使用库bar
。 然后只需要foo
来编译app
,但是需要foo
和bar
来运行它。 这就是为什么默认情况下,放在Gradle的compile
configuration上的所有内容在其runtime
configuration中也是可见的,但事实恰恰相反。