Многострочная строка в Java 17
Я использую многострочные строки в Java 17.0.2, но получаю следующую ошибку
String test = """
{
"deploymentResourceId": "deployment"
}
""";
Ошибка:
/sparta/input/PackageResource.java:262:25: expecting SEMI, found '"
{
"'
2023-10-17 23:31:16.027 UTC [ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check (verify-style-1) on project : Execution verify-style-1 of goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check failed: begin 1253, end 18, length 18 -> [Help 1]
Использование построителя строк работает нормально, но я хочу использовать многострочные строки
1 ответ
Сообщение об ошибке выдается устаревшей версией CheckStyle.
Согласно билету CheckStyle « Поддержка строк Java 15», вам потребуется как минимум CheckStyle версии 8.36, если вы хотите использовать текстовые блоки /многострочные строки вместе с проверками CheckStyle.
Сообщение об ошибке (org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check) указывает, что ваш проект использует Maven-CheckStyle-Plugin версии 2.17, который, согласно истории выпусков подключаемого модуля Maven Checkstyle, по умолчанию использует CheckStyle версии 6.11. 2
Вы можете попытаться настроить свой проект для использования подключаемого модуля Maven CheckStyle 2.17 вместе с CheckStyle версии 8.36, используя следующую конфигурацию (источник: Обновление CheckStyle во время выполнения ):
<project>
...
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>8.36</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
...
</project>