Почему подключаемый модуль Maven surefire-report-plugin создает сообщение об ошибке "Кодировка символов ${outputEncoding} не поддерживается этой платформой"?

Я также настроил плагин maven surefire-report-plugin:

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-surefire-report-plugin</artifactId>
   <version>2.17</version>
   <configuration>
        <outputDirectory>${myPath}</outputDirectory>
        <outputEncoding>UTF-8</outputEncoding>
   </configuration>
   <executions>
       <execution>
            <id>create-surefire-report</id>
            <phase>test</phase>  
            <goals>
                <goal>report</goal>
            </goals>
        </execution>                   
    </executions>              
</plugin>

Вот конфигурация подключаемого модуля Maven-surefire:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.16</version>
    <configuration>
        <testFailureIgnore>false</testFailureIgnore>                    
    </configuration>                
</plugin>

Как я могу решить эту проблему? Что следует изменить в этой конфигурации?

Спасибо!

1 ответ

Решение
  1. Удалить <outputEncoding>UTF-8</outputEncoding> от <configuration>
  2. Тот же уровень, чтобы <reporting> тег, определить <properties> с outputEncoding как это

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>
    
    <reporting>
        <plugins>
            <plugin>
               ...
            </plugin>
        </plugins>
    </reporting>
    

Примечание: это будет работать с Maven 2.x & Maven 3.x,

Другие вопросы по тегам