0

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

如何向 maven 添加一个可以从系统更改为系统的依赖项?

4

2 回答 2

0

测试由maven-surefire-plugin执行。该插件只有一个目标surefire:test并且该目标支持附加类路径元素的配置。

您可以在此处找到使用示例。此页面上的示例配置如下所示:

<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配置文件

于 2012-08-21T19:59:52.813 回答
0

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

于 2012-08-21T17:05:19.737 回答