Java 17使用record类执行mvn compile报UnknownElementException怎么解决?
问题根因
你使用的Maven 3.5.4版本不支持Java 17的新特性,无法识别record类的语法结构,所以编译时抛出javax.lang.model.element.UnknownElementException: Unknown element报错。
解决方法
Maven 3.6.3及更高版本正式兼容Java 17,将本地Maven版本升级至3.6.3以上的稳定版后,重新执行mvn compile即可正常编译包含record类的代码。
如果升级Maven后仍有编译问题,可以在pom文件中显式指定更高版本的maven-compiler-plugin,示例配置如下:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <source>17</source> <target>17</target> </configuration> </plugin> </plugins> </build>
内容的提问来源于stack exchange,提问作者waynewing
相关产品推荐
相关产品推荐

