我在我的项目的src / test / java文件夹中有一些我正在使用的类。当我使用标准的maven编译插件运行maven时。这些项目被编译成.class文件,并包含在打包编译代码的jar中。
我为自己创建了这些测试,以便在运行maven和构建我的版本之前在eclipse中运行。它们只是健全性测试,不应包含在构建中。我宁愿不把它们放在一个单独的项目中,因为对我来说,它们在这里是有道理的。如何告诉maven我不希望它编译/包含该目录中的文件?
我相信maven编译器插件正在生成jar,如下所示:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
答案 0 :(得分:6)
我从你的comment on this answer了解到,“测试”不是单元测试,而只是你想从最终工件中排除的普通类?因此,您最好的选择是将<exclude>
标记与maven-jar-plugin一起使用,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<excludes>
<exclude>**/yoursortoftestpackage/YourSortOfTestClass*</exclude>
</excludes>
</configuration>
</plugin>
希望有所帮助!
干杯,
答案 1 :(得分:1)
junit @Ignore
的注释将在maven中构建时忽略该类。
编辑:
<project>
<build>
<project>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<excludes>
<exclude>**/TestCircle.java</exclude>
<exclude>**/TestSquare.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
答案 2 :(得分:1)
将自定义测试文件放在src/localtest/java
文件夹中,我想,maven不会知道它在那里。
答案 3 :(得分:1)
使用print(freq)
<7 * Weeks: weekday=6>
print(type(freq))
<class 'pandas.tseries.offsets.Week'>
选项将跳过测试的编译和执行。 (使用-Dmaven.test.skip
只是跳过测试执行,测试仍在编译中)
-DskipTests