Изменение версии плагина компилятора Maven на 1.6 приводит к ошибке

#build #maven-plugin

#сборка #maven-плагин

Вопрос:

Я получаю эту ошибку, когда меняю версию плагина на 1.6 вместо 1.5:

неперемещаемый символ для кодирования UTF8

Символ, который он пытается сопоставить, является символом авторского права. Мой pom выглядит так:

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.0.1</version>
      <configuration>
        <source>1.6</source>
        <target>1.6</target>
      </configuration>
   </plugin>
 

Как мне это исправить?

Ответ №1:

Вы должны сохранить свой java-файл с символом в кодировке UTF-8. Также добавьте

 <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
 

введите <project> и сделайте явную кодировку java:

 <configuration>
    <source>1.6</source>
    <target>1.6</target>
    <encoding>UTF-8</encoding>
</configuration>
 

Комментарии:

1. Спасибо. Я попробую это. Но проблема в том, что в проекте много устаревшего кода, и изменение / сохранение всех файлов Java в UTF-8 может быть вообще невозможно.

2. Требуется только для файлов, которые имеют символы, отличные от ascii. Обычно это не так много. В качестве опции вы можете установить другую кодировку, не уверенную, какая у вас есть. Но очень плохая практика использовать что-то другое, кроме utf или ascii (вы могли бы поместить свой символ авторского права как "u00A9" .