2

我们有一些单元测试会失败,除非您的 $JAVA_HOME/jre/lib/security 文件夹中有两个 jar,local_policy.jar 和 US_export_policy.jar。我应该看看我们是否可以将它们放在项目文件夹中,然后告诉 Maven 在构建时使用它们(“mvn install”)。也许有依赖标签之类的东西?是的,我知道每个人都应该在他们的 $JAVA_HOME 中安装这些,但这是我被要求研究的任务。

4

2 回答 2

1

您说的是 Maven 依赖范围。文档在这里。你可以说 Maven 使用一些库只是为了使用“测试”范围进行测试。

于 2012-10-10T05:44:35.020 回答
-1

您可以将它们添加为Maven systemPath 依赖项。

系统路径

仅当依赖范围是系统时才使用。否则,如果设置了此元素,则构建将失败。路径必须是绝对的,所以建议使用一个属性来指定机器特定的路径(下面有更多的属性),比如${java.home}/lib。由于假定系统范围依赖项是先验安装的,因此 Maven 不会检查项目的存储库,而是检查以确保文件存在。如果没有,Maven 将无法构建并建议您手动下载并安装它。

<dependencies>
    <dependency>
        <!-- The groupId can be anything. Use your own groupId for example -->
        <groupId>anything</groupId>
        <artifactId>local_policy</artifactId>
        <!-- The version can be anything. Use the version of Java for example -->
        <version>7.0</version>
        <systemPath>${java.home}/lib/security/local_policy.jar</systemPath>
        <scope>system</scope>
    </dependency>
    <dependency>
        <!-- The groupId can be anything. Use your own groupId for example -->
        <groupId>anything</groupId>
        <artifactId>US_export_policy</artifactId>
        <!-- The version can be anything. Use the version of Java for example -->
        <version>7.0</version>
        <systemPath>${java.home}/lib/security/US_export_policy.jar</systemPath>
        <scope>system</scope>
    </dependency>
</dependencies>
于 2012-10-10T08:54:47.370 回答