Gradle中使用SpringBoot插件構建多模塊遇到的問題


通常下,多模塊的項目如下:

    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']
            }
        }
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM