Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse 设置特定于项目的maven存储库_Eclipse_Maven - Fatal编程技术网

Eclipse 设置特定于项目的maven存储库

Eclipse 设置特定于项目的maven存储库,eclipse,maven,Eclipse,Maven,我有多个项目。我想为每个项目创建不同的maven存储库路径。意味着,每个项目都应该指向不同的文件夹作为maven存储库(默认情况下,C:/Users/USERNAME/.m2用作repo)。 我知道这可能会增加下载量,如果在多个项目中使用相同的文件,将被下载/保存多次。但是我想为不同的项目分离存储库,这样我就可以将存储库与我的项目源代码捆绑在一起,共享给其他人。我只是不想为一个大小为50MB的非常小的项目共享我的整个m2存储库(大小为2GB) 问候, Vibhav您可以通过命令行选项-Dmave

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

问候,


Vibhav

您可以通过命令行选项
-Dmaven.repo.local=


我只需要在项目位置放置一个启动maven的包装器脚本,并在其中指定存储库(可能指向您的用例的项目内部位置)。

请参见以下答案:


简而言之,为每个构建使用一个设置文件。使您能够控制用于该项目的本地存储库,以及其他设置,如存储库和生成配置文件

谢谢大家的评论

我最后做了以下几点:

  • 在eclipse中将每个项目设置为单独的工作区
  • 为每个项目创建了一个单独的ApacheMaven文件夹(实际上复制了maven主页,尽管我使用的是相同版本的maven)
  • 在eclipse工作区中,我指出了适当的maven主页
  • 将MAVEN_HOME/conf/settings.xml文件中的存储库路径(localRepository)从default~./m2/repository配置为MAVEN_HOME/repo
  • 这样,我可以为每个项目(或者我应该说是工作区)获得单独的maven存储库

    谢谢,
    Vibhav Agrawal

    这是否修复了Eclipse不可编辑的M2_主类路径变量?我认为@JoeCoder不相关。Eclipse中的M2_主页有效地位于Maven安装所在的任何位置。“首选项->Maven->安装”。您可以在“首选项->Maven->用户设置”下类似地指定全局设置文件。在设置文件中,您可以决定(使用localRepository标记)Maven将下载的文件存储在何处。因此,从我的角度来看,M2_HOME并不重要。我同意这通常是正确的,但我有多个maven存储库,
    mvn eclipse:eclipse
    总是使用M2_HOME变量生成.classpath。当该变量在项目级别上不可修改时,如果不手动编辑,我无法在同一工作区中同时使用不同的repo编译两个项目。@classpath@JoeCoder ah,现在我明白了。。。。。ANT用户试图将其类路径与.classpath文件同步,我似乎也有类似的抱怨。。。。我想您唯一的希望是编写一个定制的Maven插件来取代标准的eclipse插件。公平地说,Eclipse做出的假设并非不合理。。。。您是否使用Maven存储库保存项目特定的文件?理想情况下,您的本地repo应该更像一个缓存,而不是一个repositoryProblem,通过创建一个单独的dev环境并通过SVN同步未生成的资源来解决。我猜刚性工具选项帮助我没有设置一个糟糕的情况。谢谢你的评论,我很感激!