Maven:从构建中排除测试

Bri*_*ian 6 java compilation jar build maven

我有一些我在项目的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>
Run Code Online (Sandbox Code Playgroud)

And*_*rup 6

我从你对这个答案评论中理解,"测试"不是单元测试,而只是你想从最终工件中排除的普通类?因此,您最好的选择是使用maven-jar-plugin<exclude>标记,如下所示:

<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>
Run Code Online (Sandbox Code Playgroud)

希望有所帮助!

干杯,