Maven:从构建中排除测试

我有一些我在项目的src / test / java文件夹中用作测试的类。 当我使用标准的maven编译插件运行maven时。 这些项目被编译成.class文件,并包含在打包编译代码的jar中。

我为自己创建了这些测试,以便在运行maven和构建我的版本之前在eclipse中运行。 它们只是完整性测试,不应包含在构建中。 我宁愿不把它们放在一个单独的项目中,因为对我来说,它们在这里是有道理的。 我怎么能告诉maven我不希望它编译/包含该目录中的文件?

我相信maven编译器插件生成jar如下:

 maven-compiler-plugin  1.6 1.6   

我从你对这个答案的评论中理解,“测试”不是unit testing,而只是你想从最终工件中排除的普通类? 因此,您最好的选择是将标记与maven-jar-plugin一起使用 ,如下所示:

  org.apache.maven.plugins maven-jar-plugin 2.4   **/yoursortoftestpackage/YourSortOfTestClass*    

希望有所帮助!

干杯,

把自定义测试文件放在src/localtest/java文件夹中我认为,maven不会知道它在那里。

使用-Dmaven.test.skip选项将跳过测试的编译和执行。 (使用-DskipTests只是跳过测试执行,测试仍在编译中)

参考链接

mvn clean install -Dmaven.test.skip

junit @Ignore注释将在maven中构建时忽略该类。

编辑:

您可以配置maven-surefire-plugin。

       org.apache.maven.plugins maven-surefire-plugin 2.4.2   **/TestCircle.java **/TestSquare.java