配置Maven在运行测试时查看本地目录

时间:2012-08-21 16:39:37

标签: maven

我们正在使用JBehave,在运行测试时,我们需要在运行测试时向类路径添加本地文件夹和jar。 问题是本地文件夹可能因系统而异。我们希望通过查看该系统上安装的jar以及该系统上定义的资源来运行测试。

如何向maven添加可能因系统而异的依赖?

2 个答案:

答案 0 :(得分:0)

您可以使用pom.xml${env.VARIABLE_NAME}中使用环境变量。如果您有pom中本地文件夹的路径,则可以用变量替换它。如果这样做,则必须在执行maven作业的每个系统上设置该变量。我找到了linuxwindows有关如何执行此操作的指南。希望这适合你的问题。

答案 1 :(得分:0)

测试由maven-surefire-plugin执行。该插件只有一个目标surefire:test,此目标支持additionalClasspathElements的配置。

您可以找到一个用法示例here。此页面上的示例配置如下所示:

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.12.2</version>
        <configuration>
          <additionalClasspathElements>
            <additionalClasspathElement>path/to/additional/resources</additionalClasspathElement>
            <additionalClasspathElement>path/to/additional/jar</additionalClasspathElement>
          </additionalClasspathElements>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

我会这样走。要更改每个系统的本地文件夹位置,您可以使用环境变量或不同的maven profiles