Maven无法识别本地存储库中的jar

时间:2018-12-03 21:59:42

标签: java maven

我有一些在源存储库中提交的jar,需要将它们用作maven项目中的依赖项。经过研究,添加特定于项目的本地存储库似乎是最干净的方法。请注意,该存储库将特定于此项目,并且与我的计算机在.m2目录下的本地存储库不同。 pom是war类型,我在说明下方定义了这样的存储库:

<repositories>
    <repository>
       <id>project-repo</id>
       <name>project-repo</name>
       <url>file://${basedir}/WebContent/WEB-INF/lib</url>
    </repository>
 </repositories>

在lib目录中是jar的路径,没有其他文件:

com / mycompany / stuff / my-artifact / 1.0.0 / my-artifact-1.0.0.jar。

此依赖项位于同一pom.xml中:

<dependency>
    <groupId>com.mycompany.stuff</groupId>
    <artifactId>my-artifact</artifactId>
    <version>1.0.0</version>
</dependency>

如果查看“有效POM”,则会看到在用户settings.xml中定义的两个存储库下列出了正确路径的project-repo。因此它被列出,但最后列出。当我执行mvn clean程序包时,它失败并显示以下错误:在settings.xml的“仓库名称”中找不到工件。它似乎没有检查我在pom中指定的存储库。在其他帖子中,我使用的是:How to include local jar files in Maven project作为参考,而Maven文档位于此处:https://maven.apache.org/guides/mini/guide-multiple-repositories.html和此处:https://maven.apache.org/guides/introduction/introduction-to-repositories.html。有什么想法为什么它似乎只检查settings.xml中定义的存储库?

1 个答案:

答案 0 :(得分:0)

该构建现在正在检查项目存储库中的依赖项。我不确定为什么这很重要,但是一旦我缩短了回购路径,它就开始起作用。

<url>file://${basedir}/localRepo</url>