2016-11-04 17 views
0

При обновлении файла pom.xml использовать новую maven-compiler-version, 3.6.0 и передачу опции -D=maven.test.skip=true, тесты компиляция фактически не пропускается.Maven компилятора Plugin перекомпиляция тесты, имея maven.test.skip к истинным

На основе следующего образца POM ниже:

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.sample</groupId> 
    <artifactId>sample-compiler</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 

    <build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.6.0</version> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
    </build> 

    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.12</version> 
    </dependency> 
    </dependencies> 
</project> 

При установке версии на предыдущую 3.5.1maven-compiler-plugin будет эффективно пропустить тест компиляции при вызове:

mvn clean test -Dmaven.test.skip=true 

бы произвести:

[INFO] --- maven-compiler-plugin:3.5.1:testCompile (default-testCompile) @ sample-compiler --- 
[INFO] Not compiling test sources 
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ sample-compiler --- 
[INFO] Tests are skipped. 

Однако, при обновлении Радинг его 3.6.0 и вызов ту же команда, что и выше, мы имеем:

[INFO] --- maven-compiler-plugin:3.6.0:testCompile (default-testCompile) @ sample-compiler --- 
[INFO] Not compiling test sources 
[INFO] Changes detected - recompiling the module! 
[INFO] Compiling 1 source file to C:\data\eclipse-workspace\sample-compiler\target\test-classes 
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ sample-compiler --- 
[INFO] Tests are skipped. 

Примечания дополнительного Changes detected - recompiling the module! значения, что maven.test.skip флаг был фактически проигнорирован.

Вопрос: Это регресс или что-то не хватает в процессе выше?

+1

Отмеченные в [MCOMPILER-284] (https://issues.apache.org/jira/browse/MCOMPILER-284). Может быть, регресс да. – Tunaki

+0

@ Тунаки, да, я действительно понял это через несколько минут. Я должен был сначала проверить его JIRA, а не SO, мой плохой –

+0

@Tunaki я должен удалить этот вопрос? –

ответ

1

При попытке отправить его как сообщение об ошибке, я на самом деле было уже сообщалось:

  • MCOMPILER-284: maven.test.skip не пропускает тест сборник

Так что, вероятно, регресс, для дальнейшего подтверждения командой Maven.


Важно отметить: такое же поведение происходит при прохождении теста skip к testCompile цели (по умолчанию выполняется с помощью привязки по умолчанию), следующим образом (перекрывая его по умолчанию идентификатор, default-testCompile):

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.6.0</version> 
       <executions> 
        <execution> 
         <id>default-testCompile</id> 
         <configuration> 
          <skip>true</skip> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 

Solutions: Для того, чтобы решить эту проблему

  • вернуться к предыдущей версии, 3.5.1 или
  • Обновление до версии 3.6.1, теперь available
+0

Интересно, работает ли он, если '' 'явно задан в POM для цели' testCompile'? – Tunaki

+0

Да, такое же поведение, просто протестировано. Отправьте сообщение об обновлении –

+1

Может подтвердить регрессию. Вытащил исправление, которое будет включено в 3.6.1. – Tunaki

 Смежные вопросы

  • Нет связанных вопросов^_^