我正试图使用JDK17和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
这个问题也发生在旧版本的Maven(如3.6)中。JDK 16也会出现这种情况。在pom.xml中通过
java.version
,
maven.compiler.source
和
maven.compiler.target
.只使用JDK版本进行编译。。。显示在中
mvn -v
命令
该项目使用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>
编辑:我不认为这和另一个问题是同一个问题,因为我搜索时出现了错误消息,而其他问题从未出现在结果中。为了回答这个问题,你需要知道这个错误与龙目有关。这个错误并没有说明龙目是罪魁祸首。