我需要依赖一个不在任何 Maven 仓库中的 jar。我目前只有这样的系统依赖:
<dependency>
<groupId>com.nexua</groupId>
<artifactId>register</artifactId>
<version>1.5</version>
<scope>system</scope>
<systemPath>${basedir}/lib/register.jar</systemPath>
</dependency>
有什么方法可以让文件链接到 url 而不是本地文件,以便它保持最新?就目前而言,我必须在需要更新文件时手动替换文件。
最佳答案
您最好使用内部(本地)存储库。这在 «Introduction to Repositories» 中有更详细的描述。 .基本上,您只需将 Artifact 复制到此内部存储库下具有正确文件名(遵循 Maven 约定)的正确目录中,Maven 将在不需要使用 <systemPath>
的情况下获取它。 .
这将要求您在文件更新时手动替换文件。 (实际上,要正确执行此操作,需要您在内部存储库中包含带有单独版本后缀的新版本,并更新 <version/>
中的 pom.xml
。)解决此问题的唯一更好方法是拥有其他人管理依赖项 - 在 Maven 中央存储库中,或您从 pom.xml
引用的另一个存储库位置. (事实上,您可以为自己或您的工作组设置自己的设置,我建议这样做。)
关于java - 使用 url 而不是文件添加系统 maven 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8468770/