可以在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
)。
答案 0 :(得分:1)
根据Maven POM Reference和Guide to using multiple repositories,您也可以在 select distinct th.thread_name as Topic_name, m.message_text, p.person_nickname as User_name, m.message_date as Date from message m
inner join thread th on m.thread_id=th.thread_id
inner join persion p on p.persion_id=m.persion_id
order by message_date desc
Limit 3
中指定存储库。
可以使用两种不同的方法来指定使用多个存储库。第一种方法是在POM中指定要使用的存储库
根据Introduction to repositories,您可以在 select distinct TOP(3) th.thread_name as Topic_name, m.message_text, p.person_nickname as User_name, m.message_date as Date from message m
inner join thread th on m.thread_id=th.thread_id
inner join persion p on p.persion_id=m.persion_id
order by message_date desc
中使用pom.xml
协议。
远程存储库是指任何其他类型的存储库,可以通过各种协议(例如file://和http://)进行访问。
因此,以下工作有效:
file://
编辑:
根据您的评论和编辑,您需要覆盖<url>
中的默认存储库和Maven主目录。
我找到了topic about disabling central repository,并尝试了答案,但是Maven仍使用<project>
...
<repositories>
<repository>
<id>example-repo</id>
<name>Example Repository</name>
<url>file://path/to/your/local/repository</url>
</repository>
</repositories>
</project>
中的值。 This answer在另一个线程中解释了原因:
pom.xml
允许您覆盖settings.xml
中的定义,而不是相反。
因此似乎无法覆盖settings.xml
中的默认机制,Maven将在pom.xml
中配置的存储库中搜索依赖项,并将安装到该文件中指定的Maven主页中。
答案 1 :(得分:1)
如果问题是每次运行maven时都必须编写选项,则可以使用自版本3.3.1起可用的功能,该功能允许您在项目(或模块的父项目)中设置命令行选项。阅读@Brice的答案:https://stackoverflow.com/a/48583079
因此,请牢记此功能,可以通过设置新的settings.xml
并指向<localRepository>
指向所需位置并在项目中使用maven.config
来获得类似的结果。让Maven使用新的settings.xml
,顺便说一下,它可以在您想要的任何地方。