【发布时间】:2017-04-27 05:56:17
【问题描述】:
我有一个 maven 项目,它有一些基于 Selenium 的集成测试,可以在一个名为 sat 的包中运行。我已将故障安全插件配置为在包中包含测试文件,例如。 <include>sit/**/*Test.java</include>.
我正在尝试运行mvn clean install,当它启动测试时,我注意到它实际上并没有运行 maven-war-plugin,即在运行测试之前没有将它打包到战争中。但是,如果我运行mvn clean install -Dmaven.test.skip=true,那么它确实会成功打包战争。 (我还配置了 cargo 插件来部署战争,这就是我注意到存在问题的原因,因为它无法部署不存在的战争)
我的pom的结构类似于下面的
<project ...>
<modelVersion>4.0.0</modelVersion>
<groupId>a</groupId>
<artifactId>a</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<includes>
<include>sit/**/*Test.java</include>
</includes>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
任何想法为什么不设置-Dmaven.test.skip=true就不能运行war插件?
在这两种情况下都会创建类文件
【问题讨论】:
标签: maven maven-3 maven-surefire-plugin maven-failsafe-plugin maven-war-plugin