我们正在使用JBehave,在运行测试时,我们需要在运行测试时向类路径添加本地文件夹和jar。 问题是本地文件夹可能因系统而异。我们希望通过查看该系统上安装的jar以及该系统上定义的资源来运行测试。
如何向maven添加可能因系统而异的依赖?
答案 0 :(得分:0)
您可以使用pom.xml
在${env.VARIABLE_NAME}
中使用环境变量。如果您有pom中本地文件夹的路径,则可以用变量替换它。如果这样做,则必须在执行maven作业的每个系统上设置该变量。我找到了linux和windows有关如何执行此操作的指南。希望这适合你的问题。
答案 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。