适用于Linux和Windows的Maven本地存储库位置

时间:2011-07-31 20:06:59

标签: maven

我有Windows和Linux的双启动系统。我有另一个分区,Windows和Linux都可以看到它。我想把我的本地存储库放在那里。我如何提供Linux和Windows都能理解的路径。 Windows将其视为d:/repository驱动器,Linux将其视为/media/234242342/repository。我应该如何在pom.xml中配置它?

6 个答案:

答案 0 :(得分:31)

根据Maven文档,每个操作系统都需要M2_HOME。在$M2_HOME/conf/内,您可以放置​​一个settings.xml文件,然后您可以使用<localRepository/>元素指定本地存储库的位置。

因此对于您的特定系统,在Windows中使用

<localRepository>d:\repository</localRepository>

并在Linux中

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

答案 1 :(得分:11)

你不是在POM中这样做,而是在你的~/.m2/settings.xml中,这对Linux和Windows来说都是不同的,所以没问题。请参阅localRepository元素:

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

答案 2 :(得分:3)

它位于/home/.m2目录中,该文件夹可能已隐藏。因此,您需要按Ctrl + H才能看到隐藏的文件夹。

答案 3 :(得分:0)

难道你不能将两个位置都定义为单独的存储库,让maven使用可用的存储库吗?

或符号链接/media/234242342/repository/repository,并将此路径用于两个版本。

另外,看看maven profiles,它可能会有所帮助!

答案 4 :(得分:0)

您可以运行:

mvn help:evaluate -Dexpression=settings.localRepository

source

答案 5 :(得分:0)

如果您使用的是CentOS版本7,则Maven本地存储库将为:

/root/.m2/repository/