Fatal error compiling: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor報錯


今天遇到了一個開發環境出現的jdk版本不兼容的問題,最近在研究javaFx插件功能要求java最低版本11,所以我直接下載了一個16的jdk,但是我生產環境的項目都是使用的java8,所以導致編譯不通過出現了一個問題,所以記錄一下這個問題

開發工具:idea2021版

操作系統:mac

報錯信息:

 Fatal error compiling: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x2aa7399c) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.processing to unnamed module @0x2aa7399c

 

 

 

使用idea工具帶的maven編譯是完全不會報錯並貼編譯可以通過

 

不知道idea2021版本智能了,還是這是bug

lombok版本我使用的是:

 

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.18.12</version>
  <scope>provided</scope>
</dependency>

 

問題結局:將java編譯環境更改成jdk1.8的環境lombok就可以兼容並編譯通過,使用jdk更高版本的話會出現編譯問題,idea工具的maven編譯和通過Terminal編譯過的環境可能會不一樣,idea可以根據你電腦裝了多個版本的jdk來使用不同的jdk版本進行編譯,而Terminal控制台使用maven進行編譯是通過系統的環境變量配置的jdk版本進行編譯,所以要解決這個問題就是將系統的環境變量修改成jdk1.8,並在命令行查看java版本java -version 來確保系統環境變量是否正確


免責聲明!

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



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