Многострочная строка в 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>
Другие вопросы по тегам