无法使用Maven 3.8编译JDK 17:错误:模块jdk.compiler没有“打开com.sun.tools.javac.processing”到未命名的模块

xienkqul  于 2023-02-18  发布在  Maven
关注(0)|答案(1)|浏览(611)

我正在尝试使用JDK 17和Maven 3.8.4编译一个现有的Sping Boot 项目,但一直收到此错误。
无法使字段专用com.sun.tools.javac.processing.JavacProcessingEnvironment$已发现处理器com.sun.tools.javac.processing.JavacProcessingEnvironment.已发现处理器可访问:模块jdk.compiler没有“打开com.sun.tools.javac.processing”到未命名的模块@521e3470
较早版本的Maven(如3.6)也会出现此问题。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>

编辑:我也用Lombok岛

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

编辑:我不认为这个问题和另一个问题是一样的,因为我是通过错误消息搜索的,而另一个问题从来没有出现在结果中。要回答这个问题,你需要知道这个错误与Lombok有关。这个错误没有给出Lombok是罪魁祸首的线索。

vmdwslir

vmdwslir1#

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

相关问题