使用itellij idea寫javafx程序時,剛開始挺順利的,功能也實現了。後來過了一段時間重新打開idea看項目時忽然發現一大片紅色錯誤提示。我以爲是少jar包導致的,就導入jar包,專門創建了一個maven工程重構項目來解決jar包問題,然而並沒有說什麼卵用,還是一大片紅色。把光標放到紅色代碼上就提示如標題所示的錯誤信息。也是很鬱悶。
直接運行一下項目,發現雖然報錯,但是項目能正常運行,功能都能實現。很奇特。
通過查資料瞭解到javafx相關的依賴是java jdk自帶的,不需要額外引用任何jar包。那麼問題就應該出現在idea本身的某項配置上。
仔細回想之前都做了哪些重要操作可能導致這個錯誤。逐個查看、修改,看效果怎麼樣。
錯誤提示中提到了module這個單詞,結合之前的操作,嚴重懷疑是下圖所示的地方配置有誤,當查看到如下圖所示的地方時奇蹟出現了:
當初使用lambda表達式的時候因爲默認language level是5 ,不支持lambda表達式,所以把它改成了10(我中的jdk版本是10),本以爲越高越好,正好配套了,並且當時該了之後沒注意到報錯,直接運行項目功能可以實現就直接完事了。
現在把language level從10改成8(從8起,開始支持lambda表達式),奇蹟出現了,一大片紅色報警突然全部消失,哈哈,好高興!
至於爲什麼非8不可,那就不得而知了,idea自身的特殊配置,也不好深究。問題完美解決就行了,別的管他呢。
總結:這個錯誤是某些東西不匹配造成的,結合報錯信息,加上一點靈感,問題得以解決。