出现下列问题:ava: java.lang.ExceptionInInitializerError Unable to make field private com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs accessible: module jdk.compiler does not "opens com.sun.tools.javac.processing" to unnamed module @4f2b12b
时间: 2023-11-01 21:11:21 浏览: 340
这个错误可能是因为您正在使用Java 9或更高版本,而默认情况下这些版本会禁用对未命名模块的反射访问权限。要解决此问题,您可以尝试在运行Java时使用以下参数:
```
--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
```
如果您正在使用Eclipse或IntelliJ IDEA等IDE,则可以在IDE的启动配置中添加此参数。
如果您使用的是Maven,则可以在pom.xml文件中添加以下配置:
```
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgs>
<arg>--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
```
这将向Maven编译器添加参数,以便在编译时添加反射访问权限。
如果以上方法都不起作用,您可以尝试升级您的Java版本或联系Java开发者社区以了解更多帮助。
相关问题
java: java.lang.ExceptionInInitializerError com.sun.tools.javac.code.TypeTags java: java.lang.ExceptionInInitializerError
Java java.lang.ExceptionInInitializerError 错误是由于某个类的静态初始化块执行时出现异常或者错误导致的。而在你提供的引用中,出现了两种情况导致该错误的产生。一种是使用的lombok版本过低,另一种是可能与不同JDK下的兼容性有关。
在引用中,也提到了 com.sun.tools.javac.code.TypeTags 这个类,从类名来看它是JDK中sun的私有类,可以判断其与JDK有关系,或类在不同JDK下的兼容性有关。但是该类的具体用途需要参考具体的业务场景。
--相关问题--:
error:java: java.lang.exceptionininitializererror com.sun.tools.javac.code.typetags
这是一个 Java 程序在启动时发生的异常。"ExceptionInInitializerError" 表示在初始化类的静态变量或静态语句块时发生了异常。"com.sun.tools.javac.code.TypeTags" 可能是引发异常的类。请检查程序的代码和日志,以了解更多信息。
阅读全文