从maven build war中排除Test.java类
我试图将src/test/java的一些.java文件排除在maven build中。我的pom.xml是:从maven build war中排除Test.java类,maven,Maven,我试图将src/test/java的一些.java文件排除在maven build中。我的pom.xml是: plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId>
plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
<executions>
<execution>
<id>default-testCompile</id>
<phase>test-compile</phase>
<configuration>
< test Excludes >
<exclude>**/Test1.java</exclude>
<exclude>**/Test2.java</exclude>
<exclude>**/Test3.java</exclude>
<exclude>**/Test4.java</exclude>
<exclude>**/Test5.java</exclude>
</testExcludes>
</configuration>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
enter code here
插件>
org.apache.maven.plugins
maven编译器插件
真的
1.6
1.6
默认测试编译
测试编译
<测试排除>
**/Test1.java
**/Test2.java
**/Test3.java
**/Test4.java
**/Test5.java
测试编译
在这里输入代码
但当我试图运行从构建中排除的测试类时,会给出ClassNotFoundException
请指导我。我添加了以下插件,因此现在跳过了测试用例:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
org.apache.maven.plugins
maven surefire插件
2.12.2
真的
将编译器插件配置为从编译中排除某些测试类(而不是从打包中!)。然后你想知道为什么你不能运行这些测试?我错过了什么?或者你到底想达到什么目的?src/test下的类通常不会打包,但是如果你想修改打包行为,你必须配置jar插件,而不是compiler-plugin.Hi Martin,谢谢你的建议。我想编译src/test/java中的测试类,但我想从war文件中排除这些类。1)如果您没有像上面那样配置编译器插件,测试应该自动编译。2) 除非在pom.xml中显式配置,否则测试类不会包含在WAR中。因此,maven的默认行为应该完全满足您的需要!顺便说一句:maven的方法是将您的所有类放在一个单独的JAR模块中,并使您的WAR依赖于这个JAR。谢谢大家。。我在你们的支持下修复了这个问题。如果你们真的把这些答案作为答案而不是评论发布,那就太好了。为什么你们要把测试用例从已经花时间开发它们的打包阶段删除呢??!!