我有一个基础pom,它定义了我们在防火墙后运行的nexus的存储库位置,我们所有的项目都继承自这个基础pom.但是,基础存在于基础中定义的其中一个存储库中,因此您可以看到循环引用问题.我想要一个maven安装:install-file like命令我可以运行新的团队成员,以便在本地下拉并安装基础项目,而无需从源代码控制中检查项目mvn install
.
我想要一个maven安装:install-file like命令我可以运行新的团队成员,以便在本地下拉并安装基础项目,而无需从源代码控制中检查项目并安装它.
Maven Dependency Plugin及其dependency:get
目标在这里可能会有所帮助,您可以这样做:
mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:get \
-Dartifact=groupId:artifactId:version[:packaging] \
-DrepoUrl=http://repository.mycompany.com/
Run Code Online (Sandbox Code Playgroud)
但让我回过头来看看:
但是,基础存在于基础中定义的一个存储库中(...)
除非这真的是你想要的(为中心找不到的东西添加一个存储库),这通常不是人们在企业环境中声明Nexus存储库的方式.
人们通常希望所有请求都通过他们的Nexus存储库并在其中存储工件.存储您需要的所有工件是确保您能够在1年,5年,10年内重复构建的唯一方法.当然,maven人在中央做得很好,但你确定要依靠不受你控制的东西吗?因此,人们通常会将Nexus声明为所有内容的镜像(请参阅4.2.配置Maven以使用单个Nexus组)settings.xml
.
如果您不希望每个用户都在其中添加所需的代码段~/.m2/settings.xml
,最好的选择是分发和使用Maven客户端的公司版本,并根据需要使用该conf/settings.xml
文件对其进行预配置.