【问题标题】:Unable to compile JDK 17 using Maven 3.8: error: module jdk.compiler does not "opens com.sun.tools.javac.processing" to unnamed module无法使用 Maven 3.8 编译 JDK 17:错误:模块 jdk.compiler 不会“打开 com.sun.tools.javac.processing”到未命名的模块 [重复]
【发布时间】:2021-11-22 22:02:42
【问题描述】:

我正在尝试使用 JDK 17 和 Maven 3.8.4 编译现有的 Spring Boot 项目,但我不断收到此错误。

无法将字段设为私有 com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs 可访问:模块 jdk.compiler 没有“打开” com.sun.tools.javac.processing" 到未命名的模块@521e3470

在 3.6 等旧版本的 Maven 中也会出现此问题。 JDK 16 也会发生这种情况。通过 java.versionmaven.compiler.sourcemaven.compiler.target 在 pom.xml 中配置的 Java 版本无关紧要。 mvn -v 命令中仅显示用于编译的 JDK 版本。

项目使用 JDK 15 编译良好。编译开始时立即发生错误,就在说明正在编译多少类的 INFO 消息之后。发生在我的 Windows 笔记本电脑和 Ubuntu CI 服务器中。

有什么想法吗?

编辑:添加更多 POM 文件。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.4</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>15</java.version>
    <maven.compiler.source>15</maven.compiler.source>
    <maven.compiler.target>15</maven.compiler.target>
    <spring-cloud.version>2020.0.4</spring-cloud.version>
    <ch.qos.logback.version>1.2.3</ch.qos.logback.version>
</properties>

编辑:我也使用龙目岛

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

编辑:我认为这与另一个问题不是同一个问题,因为我通过错误消息进行搜索,而另一个问题从未出现在结果中。要解决这个问题,您需要知道该错误与 Lombok 有关。该错误没有提供龙目岛是罪魁祸首的线索。

【问题讨论】:

  • 请显示您的 pom 文件,同时添加尽可能多的信息.​​..准确的 Maven 版本。最好是一个示例项目......还有你如何称呼 Maven?
  • @khmarbaise Maven 版本在标题中。我使用mvn compile 执行它。
  • 你用龙目岛吗?
  • 哦,是的。你可能正在做某事。让我升级它。我会发布我的龙目岛版本。
  • @khmarbaise 升级到 1.18.20 修复了它。想抛出一个答案,我会标记它是正确的?

标签: java maven lombok openjdk-17


【解决方案1】:

问题在于 lombok 项目的使用,在这种情况下使用的不是最新版本。

【讨论】:

    猜你喜欢
    • 2021-09-20
    • 2022-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    • 2017-03-09
    • 2021-07-02
    • 1970-01-01
    相关资源
    最近更新 更多