[英]Adding remote repository jar file as dependency in pom.xml maven
[英]Set the maven local repository location in a pom.xml file?
可以在 settings.xml 中设置 Maven 本地存储库:
<localRepository>${user.home}/.m2/repository</localRepository>
并且可以在命令行上设置 maven 本地存储库:
mvn clean install -Dmaven.repo.local=repository
是否可以在 pom.xml 本身中指定?
注意:我想要一种方法,在 pom.xml 中指定 maven 最初搜索工件的位置(默认情况下为~/.m2/repository
)以及 maven 通过mvn install
安装工件的位置(默认情况下为~/.m2/repository
)。
根据Maven POM Reference和Guide to using multiple repositories ,您也可以在pom.xml
指定存储库。
您可以通过两种不同的方式指定使用多个存储库。 第一种方法是在 POM 中指定要使用的存储库
根据Introduction to repositories ,您可以在<url>
使用file://
协议。
远程存储库是指任何其他类型的存储库,可通过各种协议访问,例如 file:// 和 http://。
所以以下工作:
<project>
...
<repositories>
<repository>
<id>example-repo</id>
<name>Example Repository</name>
<url>file://path/to/your/local/repository</url>
</repository>
</repositories>
</project>
编辑:
根据您的评论和编辑,您需要覆盖pom.xml
的默认存储库和 Maven 主目录。
我找到了一个关于禁用中央存储库的主题,并尝试了答案,但 Maven 仍然使用settings.xml
的值。 另一个线程中的这个答案解释了原因:
settings.xml
允许您覆盖pom.xml
定义,而不是相反。
因此,似乎不可能从pom.xml
覆盖默认机制,Maven 将在settings.xml
中配置的存储库中搜索依赖项,并将安装到该文件中指定的 Maven 主目录。
如果问题是每次运行 maven 时都必须编写选项,您可以使用自 3.3.1 版以来可用的功能,该功能允许您在项目(或模块的父项目)中设置命令行选项。 阅读@Brice 的回答: https : //stackoverflow.com/a/48583079
因此,考虑到此功能,您可以通过设置一个新的settings.xml
来实现类似的结果,其中<localRepository>
指向您想要的位置,并在您的项目中使用maven.config
使 maven 使用新的settings.xml
,顺便说一下,它可以在你想要的任何地方。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.