Linux和Windows下的Maven本地仓库位置

29

我有一个装有Windows和Linux的双系统。我还有一个分区,这个分区在Windows和Linux都可见。我想把我的本地代码仓库放在那里。如何提供一条路径让Linux和Windows都能理解呢?Windows将其视为 d:/repository 驱动器,而Linux将其视为 /media/234242342/repository。我应该如何在 pom.xml 中配置它?

7个回答

37
每个操作系统都需要一个M2_HOME,这是根据Maven文档的规定。在$M2_HOME/conf/目录中,您可以放置一个settings.xml文件,并且在其中可以使用<localRepository/>元素指定本地存储库的位置。
因此,对于您特定的Windows系统,请使用:
<localRepository>d:\repository</localRepository>

而且在Linux中也一样。

<localRepository>/media/234242342/repository</localRepository>

非常感谢您的快速回复。 - user373201

14

你不应该在 POM 文件中这样做,而是在你的 ~/.m2/settings.xml 中设置。这个文件在 Linux 和 Windows 上都有所不同,因此没有问题。请参考 localRepository 元素:

<settings>
    <localRepository>d:\repository</localRepository>
    <!-- or -->
    <localRepository>/media/234242342/repository</localRepository>
    ...
 </settings>

13

您可以运行:

mvn help:evaluate -Dexpression=settings.localRepository

来源


5

它位于/home/.m2目录中,这个文件夹可能是隐藏的。因此,您需要按下Ctrl + H来查看隐藏文件夹。


不,存储库的URL可以设置在任何地方,并且可以由许多文件设置。你所说的是默认的放置方式。 - Gangnus
它对我有用,真的是隐藏文件夹,谢谢。 - pawansinghncr

2
如果您正在使用CentOS 7版本,则Maven本地存储库将为:
/root/.m2/repository/

1

Windows:

C:\Users<User_Name>.m2

Linux:

/home/<User_Name>/.m2

Mac:

/Users/<user_name>/.m2

当然,对于Linux和Mac,我们可以使用简写形式编写:

~/.m2


1

你不能把这两个位置分别定义为独立的仓库,然后让Maven使用可用的那个吗?

或者将/media/234242342/repository建立符号链接到/repository,并且在两个构建中都使用这个路径。

另外,看一下Maven配置文件,可能会有帮助!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接