#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"
.