也許我錯過了關於Gradle的工作方式。我在這裏有一個父項目,它只包含配置,即在構建它時不會構建任何工件,它只是管理和構建其所有子項目。Gradle無法使用fileTree注入依賴到子項目
現在子項目分享一些依賴的配置,所以我想我會做什麼在根項目的build.gradle是:
subprojects {
dependencies {
compile fileTree(dir: 'lib', includes: ['*.jar'])
}
}
然而,這是不行的,它失敗了,而令人費解的錯誤消息:
的問題發生評估根 項目「qype-Android的原因:法無 簽名: org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compile() 適用於參數類型: (org.gradle.api.internal.file.DefaultConfigurableFileTree) 值:[文件中設置 'LIB']可能的解決方案 :模塊(java.lang.Object中)
後一些試驗和錯誤,我可以通過將'java'插件應用到父項目來「修復」這個問題。
怎麼回事?我從Gradle文檔中看不到任何依賴於fileTree
的Java插件。即便如此,爲什麼我需要它在注入配置的項目上,而不是在正在配置的項目上(請注意,子項目都自己使用Java插件)?
這是否意味着,如果我有N個不同的子項目是所有不同性質的,並適用不同的插件,父項目必須始終運用一套地方用於自身,也都插件衆生?
我明白了 - 謝謝。但是,我仍然覺得很尷尬,我必須將Java插件應用到父項目,當它不是Java項目時... – Matthias 2011-01-14 14:27:22