2015-10-19 5 views
5

単一質問:testRuntimeとtestProvidedの間の階調差

gradleには、いくつかの設定が用意されています。例ようにtestCompiletestProvidedtestRuntimejavaCompilejavaProvided、およびについては ...あなたは違い何

を説明してもらえますか?

答えて

8

構成を使用すると、依存関係をスコープできます。与えられた構成階層:

testRuntime -> testCompile -> runtime -> compile 

各構成は、依存関係がどこにあるかを制限するのに役立ちます。 *ランタイム構成では、依存関係を含めることができますが、それをコンパイル依存として持たせることはできません。これは、プロジェクトからフレームワークを疎結合にしたい場合に役立ちます。ランタイム依存関係とは、アプリを実行するために必要なものですが、コンパイルする必要はありません。

テスト*構成についても同じことが適用されます。

参考: - :provided構成は、コンパイル時に使用されている依存関係が含まれていますが、最終的な成果物にパッケージ化されていない

2

イーサンの答えに加えて。これは、たとえば、インストール時にこれらの依存関係を提供しているコンテナ用に開発する場合に便利です。

関連する問題