class lombok.javac.apt.lombokprocessor
时间: 2023-04-20 13:02:04 浏览: 135
class lombok.javac.apt.lombokprocessor 是 Lombok 框架中的一个类,它是 Lombok 的注解处理器,用于在编译时处理 Lombok 的注解,生成相应的代码。Lombok 是一个 Java 库,它通过注解来简化 Java 代码的编写,提高代码的可读性和可维护性。Lombok 的注解处理器可以自动生成一些常用的代码,如 getter、setter、构造函数等,从而减少了开发人员的工作量。
相关问题
class lombok.javac.apt.LombokProcessor (in unnamed module @0x4978777f) 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 @0x4978777f 是什么问题
这个问题是由于 LombokProcessor 类无法访问 com.sun.tools.javac.processing.JavacProcessingEnvironment 类引起的。原因是 jdk.compiler 模块没有将 com.sun.tools.javac.processing 导出给 LombokProcessor 所在的未命名模块。这可能是因为版本不匹配或存在类路径配置问题。您可以尝试更新相关的依赖或调整类路径来解决此问题。
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project common: Fatal error compiling: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x42ea14b8) 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 @0x42ea14b8
这个错误是由于 Lombok 和最新版本的 JDK 不兼容导致的。解决这个问题的一种方法是升级 Lombok 到最新的版本,Lombok 1.18.22 支持 JDK 16。如果您不想升级 Lombok,可以尝试降级 JDK 版本到 15 或更早版本。或者,您也可以尝试使用参数 --add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED,强制将 jdk.compiler 模块中的 com.sun.tools.javac.processing 包导出给所有模块,以允许 Lombok 使用该包中的类。您可以将此参数添加到 maven-compiler-plugin 插件的配置中,例如:
```
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<compilerArgs>
<arg>--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
</compilerArgs>
</configuration>
</plugin>
```
这个参数可能会在未来的 JDK 版本中被移除,因此不推荐长期使用。
阅读全文