Maven2自定义配置文件进行测试

时间:2010-01-20 18:28:15

标签: java maven-2

我想在我的Maven2 pom.xml文件中创建一个自定义配置文件,以使用surefire插件隔离与测试相关的依赖项和设置,但我对文档感到有些困惑。最终,我不希望junit / etc出现在生产部署包中。

有没有人有一个可以让我入门的例子?

2 个答案:

答案 0 :(得分:3)

这很简单。像这样声明junit依赖:

<dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.0</version>
      <type>jar</type>
      <scope>test</scope>
      <optional>true</optional>
</dependency>

范围将确保junit库不会出现在部署包中。如果maven找到src/test/java文件夹中的源

,您将无法在生产包中看到测试类

答案 1 :(得分:3)

你不需要这个配置文件(我的意思是,如果你真的想使用配置文件,你可以,但你不需要)。 Maven具有内置功能,允许限制依赖项的传递性,还可以影响用于各种构建任务的类路径 。此功能称为Dependency Scope,这是文档中有关 测试 范围的内容:

  

此范围表示正常使用应用程序不需要依赖关系,并且仅适用于测试编译和执行阶段。

因此,如果您想在测试阶段使用依赖项但又不想将其打包在最终工件中,只需使用测试范围声明它:

<project>
  ...
  <dependencies>
    ...
    <dependency>
      <groupId>group-a</groupId>
      <artifactId>artifact-b</artifactId>
      <version>1.0</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>