問題原因:程序員
在公司svn checkout下來一個SpringBoot的項目,使用Idea啓動時老是報某些類找不到的Bug,可是同事使用Eclipse啓動卻徹底正常。由此判斷是Idea開發工具的問題,網上搜索一番,果真如此。intellij-idea
出現此問題的緣由:ide
Idea對於POM文件依賴中的scope爲provided的依賴包在編譯時不會將其放入classpath中,故出現依賴包中某些class找不到的狀況。svn
這是Intellij Idea的一個存在已久的Bug,很多人都跟Idea官方提交了此Bug,以下:工具
參考網址:https://youtrack.jetbrains.com/issue/IDEA-78410開發工具
時間顯示爲5年前。idea
可是此Bug直到2017年依然未獲得解決,又有人提Bug,參考網址:https://youtrack.jetbrains.com/issue/IDEA-107048spa
能夠看到使用Intellij Idea程序員的憤怒:日誌
可是慶幸的是,此Bug到Intellij Idea2018版本中獲得解決,參考網址:https://www.componentsource.com/zh-hans/news/feature-releases/2018/04/03/intellij-ideacomponent
在2018.1版本中的更新日誌裏有這樣一段話:
在2018版本中增長了此功能:
把這個勾選上以後,provided的依賴包在編譯時會被加入到classpath中,從而解決問題(在SpringBoot項目中這個複選框是默認勾選上的)。
結束語:
此Bug存在5年之久才被官方修復,這裏面難道有故事?