使用url而不是文件添加系统maven依赖项

时间:2011-12-12 00:48:35

标签: java eclipse maven

我需要依赖一个不在任何maven回购中的罐子。我目前只有这样的系统依赖:

<dependency>
    <groupId>com.nexua</groupId>
    <artifactId>register</artifactId>
    <version>1.5</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/register.jar</systemPath>
</dependency>

是否有某种方法可以将文件链接到网址而不是本地文件,以便保持最新状态?当我想要更新时,我必须手动替换文件。

1 个答案:

答案 0 :(得分:1)

最好使用内部(本地)存储库。这在«Introduction to Repositories»更详细地描述。基本上,您只需将您的工件复制到正确的目录中,并在此内部存储库下使用正确的文件名(遵循Maven约定),Maven将在不需要使用<systemPath>的情况下将其获取。

这将要求您在更新文件时手动替换该文件。 (实际上,为了正确地执行此操作,它将要求您在内部存储库中包含具有单独版本后缀的新版本,并更新<version/>中的pom.xml。)唯一更好的方法这是让其他人管理依赖关系 - 在Maven中央存储库或您从pom.xml引用的另一个存储库位置。 (事实上​​,你可以自己设置 - 无论是你自己还是你的工作组,我都建议你这样做。)