Java 17.0.2使用多行字符串报错,求助解决方案
Java 17多行字符串使用时Checkstyle报错的解决办法
你的问题根源在于使用的maven-checkstyle-plugin:2.17版本过于老旧,该版本发布于2016年,完全不支持Java 15引入的**文本块(多行字符串)**语法,因此插件会将合法的多行字符串代码识别为语法错误。
解决办法
升级maven-checkstyle-plugin版本
至少升级到3.1.2及以上版本(该版本开始支持Java 15+语法),推荐使用最新稳定版,修改pom.xml中的插件配置:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>3.3.0</version> <executions> <execution> <id>verify-style-1</id> <phase>verify</phase> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin>配置Checkstyle适配Java 17
在你的Checkstyle规则文件(如checkstyle.xml)中,指定Java版本为17,确保规则与Java 17语法兼容:<module name="Checker"> <property name="charset" value="UTF-8"/> <property name="severity" value="warning"/> <property name="javaVersion" value="17"/> <!-- 其他规则模块配置 --> </module>
完成上述修改后,重新执行Maven构建,多行字符串的语法就能被Checkstyle正确识别,不会再报语法错误。
内容的提问来源于stack exchange,提问作者pirateking
相关产品推荐
相关产品推荐

