1. ホーム
  2. configuration

[解決済み] Gradleにおけるコンパイル設定と実行時設定の違いについて

2022-10-25 02:25:32

質問

少し一般的な質問ですが、Gradleとも連動しています。

なぜコンパイルと実行時設定が必要なのでしょうか?

私は何かをコンパイルするとき、私はバイトコードで私のJavaクラスを変換するためにアーティファクトを必要とするので、私はコンパイル設定が必要ですが、なぜ私はJVMで私のアプリケーションを実行するために他の何かが必要なランタイム構成が必要なのでしょうか?

愚かなように聞こえるなら申し訳ありませんが、私は理解していません。

どのように解決するのですか?

最も一般的なケースでは、コンパイル時に必要とされる成果物は、実行時に必要とされる成果物のサブセットとなります。たとえば、次のようなプログラムがあるとします。 app がライブラリ foo であり、ライブラリ foo 内部的に ライブラリを使用 bar . 次に foo をコンパイルするのに必要なのは app の両方が必要ですが foobar は実行するために必要です。このため、デフォルトでは、Gradleのすべての compile の構成に置かれるものは、その runtime の構成も見えますが、逆は真ではありません。