我需要依赖一个不在任何maven回购中的罐子。我目前只有这样的系统依赖:
<dependency>
<groupId>com.nexua</groupId>
<artifactId>register</artifactId>
<version>1.5</version>
<scope>system</scope>
<systemPath>${basedir}/lib/register.jar</systemPath>
</dependency>
是否有某种方法可以将文件链接到网址而不是本地文件,以便保持最新状态?当我想要更新时,我必须手动替换文件。
答案 0 :(得分:1)
最好使用内部(本地)存储库。这在«Introduction to Repositories»更详细地描述。基本上,您只需将您的工件复制到正确的目录中,并在此内部存储库下使用正确的文件名(遵循Maven约定),Maven将在不需要使用<systemPath>
的情况下将其获取。
这将要求您在更新文件时手动替换该文件。 (实际上,为了正确地执行此操作,它将要求您在内部存储库中包含具有单独版本后缀的新版本,并更新<version/>
中的pom.xml
。)唯一更好的方法这是让其他人管理依赖关系 - 在Maven中央存储库或您从pom.xml
引用的另一个存储库位置。 (事实上,你可以自己设置 - 无论是你自己还是你的工作组,我都建议你这样做。)