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
如何正确创建自己的公共maven存储库?_Maven_Repository_Public - Fatal编程技术网

如何正确创建自己的公共maven存储库?

如何正确创建自己的公共maven存储库?,maven,repository,public,Maven,Repository,Public,为了创建公共maven存储库,我创建了一个本地文件夹(例如,$HOME/maven repo),该文件夹与web服务器上的公共文件夹保持同步。要在这样的存储库中安装jar,我需要 mvn安装:安装文件-DgroupId=[groupId]-DartifactId=[artifactId]-Dversion=[version]-Dpackaging=jar-Dfile=[pathToJar]-DlocalRepositoryPath=$HOME/maven repo-DcreateChecksum

为了创建公共maven存储库,我创建了一个本地文件夹(例如,
$HOME/maven repo
),该文件夹与web服务器上的公共文件夹保持同步。要在这样的存储库中安装jar,我需要

mvn安装:安装文件-DgroupId=[groupId]-DartifactId=[artifactId]-Dversion=[version]-Dpackaging=jar-Dfile=[pathToJar]-DlocalRepositoryPath=$HOME/maven repo-DcreateChecksum=true

然后我将$HOME/maven repo与Web服务器同步

但是,这将创建文件maven metadata-local.xml(位于
$HOME/maven repo/[groupId]/[artifactId]
)。据我所知,只有当存储库是本地的时,这才是正确的。如果它是在线的,那么应该是maven-metadata.xml。当然我可以重命名文件,但我想有一种更正确的方法


问题是:如何正确地创建这样的公共maven存储库,即使用文件名中没有“local”的maven-metadata.xml文件,而不用手动重命名文件?

为什么不使用Nexus之类的工件存储库管理器,Artifactory或Archiva…?不幸的是,我不知道如何创建远程存储库,但因为Maven只知道本地和远程存储库
mvn install
将始终将人工制品安装/移动到本地存储库,而
mvn deploy
将尝试将人工制品部署/移动到远程存储库。因此,一旦您设置了远程存储库(使用允许它的任何配置),您将能够通过调用
mvn deploy
(包括
mvn install
)将您的人工制品部署到有权访问该远程存储库的任何人@carlspring,因为我只想在我的开源项目中使用完全免费的工具。@EduardoBezerra:如果你正在主持一个OSS项目,那么我建议你在这里查看我的答案:。您可以在Sonatype的OSS Maven存储库中托管您的项目。此外,我只希望依赖Maven本身,而不依赖第三方工具。