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

配置Maven在运行测试时查看本地目录,maven,Maven,我们正在使用JBehave,在运行测试时,我们需要在运行测试时向类路径添加一个本地文件夹和jar。 问题是本地文件夹可能因系统而异。我们希望通过查看该系统上安装的jar和该系统上定义的资源来运行测试 如何向maven添加可能因系统而异的依赖项?您可以使用${env.VARIABLE\u NAME}在pom.xml中使用环境变量。如果pom中有本地文件夹的路径,可以用变量替换它。如果这样做,则必须在执行maven作业的每个系统上设置该变量。我找到了一些关于如何做到这一点的指南。希望这适合您的问题。

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


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

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

测试由执行。插件只有一个目标,这个目标支持配置

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

<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>

[...]
org.apache.maven.plugins

.

我认为您可以使用环境变量。但这只是我脑海中闪现的一个快速的想法。。你能帮我把这样的东西硬编码吗?作为答案贴出来。如果不清楚,请询问:-)谢谢。有没有办法说这些额外的JAR在编译时也是必需的?@sethu这是可能的,但我不推荐这样做。如果您想创建一个具有可预生成构建的工件,您应该明确定义构建所需的依赖关系。