5 ответов:
по словам документация на плагине maven Surefire,
-Dmaven.test.skipдолжны пропустить компиляцию и выполнение тестов. Напротив,-DskipTestsпросто пропускает тест исполнение: тесты все еще компилируется.
просто чтобы было ясно:
skipTestsбудет составлять ничего<testSourceDirectory>, а не будет выполнять них.
maven.test.skipбудет не компилируется любые тесты, но выполняет любые скомпилированные тесты, которые пробились в<testOutputDirectory>.таким образом, поведение выше 2 противоположно. Просто хотел отметить, что
maven.test.skipне пропускает компиляцию и выполнение, если тестовые файлы распакованный / скопированный / etc. в<testOutputDirectory>.кроме того, в зависимости от того, какую версию Maven вы используете, есть также
maven.test.skip.exec=true, который дополнительно пропускает выполнение теста похоже на скиптесты.
запустить этап это не включает
test-compile, напримерcompile.mvn clean compile
Я не эксперт в maven, но то, что я использую в моем текущем проекте:
mvn clean install -DskipTests=trueв зависимости от вашего варианта использования с помощью:
mvn compile -DskipTests=trueможет работать для вас тоже.
Я нашел обходной путь в другом вопрос, который фактически переопределяет выполнение плагина, добавляя следующий фрагмент в ваш pom.XML по умолчанию:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <executions> <execution> <id>default-testCompile</id> <phase>none</phase> </execution> </executions> </plugin> </plugins> </build>это, кажется, работает, но определенно не отключает фазу, но отключает действия по умолчанию, которые плагин определяет на определенном этапе.
Comments