2012-01-16 106 views
6

我有多个项目。我想为每个项目创建不同的Maven存储库路径。意思是,每个项目应该指向不同的文件夹作为Maven仓库(默认C:/Users/USERNAME/.m2用作仓库)。 我知道这可能会增加下载和相同的文件,如果在多个项目中使用将被下载/保存多次。但是我想为不同的项目分开存储库,以便我可以将存储库与我的项目的源代码捆绑在一起,以便与其他人共享。我只是不想分享我的整个m2存储库(大小2 GB)为一个非常小的项目大小为50 MB。设置项目特定的Maven仓库

问候,

Vibhav

回答

2

谢谢大家的意见。

我终于没了下文: - 设置每个项目在日食 一个独立的工作区 - 创建一个单独的Apache Maven的文件夹的每个项目(实际上是重复即使我使用的Maven的相同版本的行家家) - 从eclipse工作区中,我指出了适当的maven home - 将MAVEN_HOME/conf/settings.xml文件中的存储库路径(localRepository)从默认的〜。/ m2/repository配置为类似MAVEN_HOME/repo

这样,我可以为每个项目分别获取maven仓库(或者我应该说工作区)。

感谢, Vibhav阿格拉瓦尔

1

您可以通过命令行选项来指定库位置-Dmaven.repo.local=

我不得不只是把一个包装脚本来启动该项目的位置Maven和指定的存储库中它(可能指向您的用例的项目内的位置)。

0

请参见下面的回答:

Prevent Jenkins from Installing Artifact to Local Maven Repository

一言以蔽之使用设置文件为每个制作。使您能够控制用于该项目的本地存储库,还可以控制其他设置(如存储库和构建配置文件)。

+0

这是否解决了Eclipse的不可编辑M2_HOME CLASSPATH变量? – 2012-12-07 01:25:35

+0

@JoeCoder无关我想。无论您的Maven安装位于何处,Eclipse中的M2_HOME都是有效的。 “首选项 - > Maven->安装”。您的全局设置文件在“首选项 - > Maven->用户设置”下类似指定。在设置文件中,您可以决定(使用localRepository标记)Maven将存储其下载文件的位置。所以从我的角度来看,M2_HOME并不重要。 – 2012-12-07 08:53:03

+0

我同意这通常是真的,但我有多个maven仓库和'mvn eclipse:eclipse'总是使用M2_HOME变量生成一个.classpath。如果该变量在Project级别上不可修改,则无法手动编辑.classpath,我无法同时在同一个Workspace中使用不同的Repos编译两个项目。 – 2012-12-07 09:08:05