很緩慢地直到去年年底才開始摸 Gradle,然後最近要試著自己弄小專案時,撞到一個奇怪的問題。我用 Gradle init 的指令幫忙產生第一版的 Gradle 設定,接著在根目錄的 settings.gradle 想要加入 java plugin,例如下面這樣:
plugins { id "java" } repositories { mavenCentral() } rootProject.name = 'sample-vespa-data-feeder' include('app')
結果意外地(我很意外 XD…)遇到了以下的錯誤訊息:
An exception occurred applying plugin request [id: 'java'] > Failed to apply plugin 'org.gradle.java'. > Could not create plugin of type 'JavaPlugin'. > Unable to determine constructor argument #3: missing parameter of type JvmPluginServices, or no service of type JvmPluginServices.
結果到處亂看的時候,看到 [1] 才赫然發現,原來 plugin
是新的用法,而且這個用法好像不能寫在 root project 上。後來我把 plugins {}
跟 repositories {}
都改放進 app/build.gradle
就正常了….。
BTW,小小的題外話,我用 Gradle init 產生設定時,是選擇 single project 的,不過它產生出來的還是具有 multi project 的結構,總覺得 Gradle 的設計是不是其實根本沒有 single project….?
沒有留言:
張貼留言