作为一名顾问,我有多个客户在为我工作。每个客户端都使用自己的内部Maven存储库,该存储库也设置为镜像Central和其他外部存储库。我需要在我的笔记本电脑上配置我的maven安装,以便当我为一个客户端工作时,它利用他们的内部存储库来处理所有事情。
我曾认为我可以利用配置文件来处理这个问题,但镜像设置不能按配置文件进行更改。
有没有人有关于如何使用maven配置的建议?
注意:这里有一个类似的问题:How do I configure maven to access maven central if nexus server is down?,但这个问题涉及到从镜像到中心之间的切换。我需要的是中心(和其他)来自一个镜像或基于一些属性/设置/变量等不同的镜像。
发布于 2012-06-27 00:46:10
创建两个shell别名:
alias build_at_home="mvn -s $HOME/.m2/home_settings.xml"
alias build_at_work="mvn -s $HOME/.m2/work_settings.xml""-s“选项可以方便地显式声明要使用的环境设置文件。我们在共享构建服务器上使用此机制来确保每个项目构建都是独立的。
显然,在windows上,您可以创建一组批处理文件。
发布于 2012-06-26 13:28:02
我在我的项目中也有非常类似的要求。我创建了两个独立的settings.xml文件,将它们命名为settings_one.xml和settings_two.xml,并将它们保存在MAVEN_HOME中。根据我需要的文件,我有一个小脚本(windows上的bat文件),它用两个设置文件中的一个覆盖现有的settings.xml。
del C:\Users\<username>\.m2\settings.xml
copy C:\Users\<username>\.m2\settings_one.xml C:\Users\tadigotl\.m2\settings.xml发布于 2012-06-26 14:10:59
我能建议的最简单的解决方案是安装git并将.m2/settings.xml (当然,通过.gitignore忽略存储库本身)提交到git中,并为客户创建适当的分支。更改设置将通过以下方式完成:
git checkout CUSTOMER_BRANCH此外,任何变化都由SCM跟踪。
https://stackoverflow.com/questions/11198788
复制相似问题