我的问题有点普遍,但它也与Gradle相关联。

为什么需要编译和运行时配置?

当我编译某些东西时,我需要 Artifact 来将我的Java类转换为字节码,因此我需要编译配置,但是为什么需要运行时配置,我还需要其他东西才能在JVM中运行我的应用程序吗?

抱歉,这听起来很愚蠢,但我不明白。

最佳答案

在最常见的情况下,编译时所需的 Artifact 是运行时所需的 Artifact 的子集。例如,假设一个名为app的程序使用了foo库,而图书馆foo在内部使用了bar库。然后只需要foo来编译app,但是同时需要foobar来运行它。这就是为什么默认情况下,放在Gradle的compile配置上的所有内容在其runtime配置上也可见的原因,但事实并非如此。

09-05 01:02
查看更多