Gradle中使用SpringBoot外掛構建多模組遇到的問題
阿新 • • 發佈:2019-01-08
通常下,多模組的專案如下:
Root project 'demospring'
+--- Project ':model'
\--- Project ':rest'
那麼我們需要在rest模組依賴model模組,也非常簡單,方式如下:
compile project(":model")
通常情況,我們執行專案時不會有錯的,但是你執行gradle的build任務時,坑爹的地方就來了,會報類似如下的錯誤:
:model:build :rest:compileJava /Users/xxxxx/Documents/SourceTree/demospring/rest/src/main/java/bookmarks/Application.java:19: error: cannot find symbol CommandLineRunner init(AccountRepository accountRepository, ^ symbol: class AccountRepository location: class Application /Users/xxxxx/Documents/SourceTree/demospring/rest/src/main/java/bookmarks/Application.java:20: error: cannot find symbol BookmarkRepository bookmarkRepository) { .......
這個原因是springboot的gradle外掛不能直接引用類路徑下的其他依賴,我想這麼做它無非是保證服務的獨立性,但是往往實際開發中,我們專案之間肯定會涉及模組之間的依賴,那怎麼解決呢?
可以參考如下的配置:
sourcesets{
main{
java{
srcDirs=['src/main/java','.../依賴的模組/src/main/java']
}
}
}