今天在把项目打包给经理的时候,在打包过程中出现了该错误

出现:java: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x3278991b) 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

        上网查询了一下发现是因为项目中使用的 lombok 库试图访问 jdk.compiler 模块中的 com.sun.tools.javac.processing 包,但是 jdk.compiler 模块并没有将这个包导出给未命名模块。这通常发生在使用 Java 的模块化系统(Java Platform Module System,JPMS)时。

        从 Java 9 开始,Java 引入了模块化系统,以提高封装性、安全性和维护性。在模块化系统中,每个模块可以控制其内部的包的可见性。如果一个模块没有明确地将其包导出给其他模块,那么其他模块就无法访问这些包。

        可以通过升级 Lombok来解决问题:确保你使用的是最新版本的 Lombok,因为新版本可能已经解决了与 Java 模块系统的兼容性问题。

        我将我 Lombok 的依赖改成这样就成功了

        <dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.20</version>
		</dependency>

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐