如果Maven項目用原生Maven命令能夠正常打包構建,但在IDEA中無法識別。 解決方案: 1. 首先重新載入下Maven項目,可能重新載入下就好了,因為很多時候在IDEA導入Maven項目是被中斷了,中斷原因可能是人為的,也可能是因為網路等問題導致。 2. 如果提示 POM 有誤(誤報),甚至構 ...
如果Maven項目用原生Maven命令能夠正常打包構建,但在IDEA中無法識別。
解決方案:
1. 首先重新載入下Maven項目,可能重新載入下就好了,因為很多時候在IDEA導入Maven項目是被中斷了,中斷原因可能是人為的,也可能是因為網路等問題導致。
2. 如果提示 POM 有誤(誤報),甚至構建時直接報錯 'com/intellij/lang/properties/charset/Native2AsciiCharsetProvider has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0'等,這種情況一般是由於IDEA的bug導致。
目前已知在某些情況下(比如使用了 tiles-maven-plugin 插件),"Maven導入程式"(一個獨立的進程)會用到IDEA本身的一些類,而預設情況下"Maven導入程式"使用的JDK並非IDEA的啟動JDK,而是項目JDK,又因為新版IDEA編譯所使用的JDK版本一般高於項目JDK版本,從而導致IDEA無法正常識別Maven項目。
該問題的解決方案是:將"Maven導入程式"所使用的JDK版本更改為IDEA啟動所使用的版本一致即可(如果沒有安裝對應版本的JDK建議新安裝一個,而不要直接用IDEA自帶的)。
錯誤示例:
解決參考: