模块 jdk.compiler 不会向未命名模块“打开 com.sun.tools.javac.processing”@4bae33a6

Gre*_*F.R 21 java artificial-intelligence github face-recognition intellij-14

我从 Github 克隆了这个项目

https://github.com/PacktPublishing/Java-Machine-Learning-for-Computer-Vision.git

我将使用该项目中的 FaceRecognizition。但是当我尝试在 IntelliJ 中运行它时,我收到此错误

java: java.lang.ExceptionInInitializerError 无法使字段私有 com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs 可访问:模块 jdk.compiler 不“打开 com. sun.tools.javac.processing”到未命名模块@4bae33a6

我能做些什么?

小智 27

对我来说,问题是 Lombok 版本。

从 java8 升级到 java17 以及从 lombok 版本 1.18.6 升级到 1.18.26 后

旧的:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.6</version>
    <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

升级了java17的一个

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.26</version>
    <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

  • 为我工作,但不知道根本原因是什么:D (2认同)

Gov*_*kar 21

我遇到了同样的问题,首先使用以下命令检查 Maven 使用的 Java 版本

mvn-v

如果设置为 Jdk 16 那么您将必须更新下面的文件

/usr/local/Cellar/maven/{版本}/bin/mvn

并设置

JAVA_HOME:-$(/usr/libexec/java_home)

然后你可以通过再次运行 mvn -v 来确认

上述步骤已经解决了我的问题

  • 对我来说它设置为“/Library/Java/JavaVirtualMachines/{jdk version}/Contents/Home” (3认同)