如何在没有Nexus / Artifactory / etc的情况下索引Maven仓库?

时间:2011-03-18 07:38:56

标签: maven repository nexus maven-indexer

我为一些开源运行我自己的小Maven仓库。我没有专用服务器所以我使用Google code repository,部署到文件系统,然后提交和推送。适合我的作品。

但是一些Maven工具正在寻找nexus-maven-repository-index.properties和索引(在GZ中)。我想生成这个索引

  1. 摆脱不在这里的警告
  2. Maven不会为那些不存在的人工制品尝试回购。
  3. 我该怎么做?是否有能够生成索引的工具(Java main)?还提示如何使用适当的Nexus Jars和一些命令行工具。

3 个答案:

答案 0 :(得分:10)

我在搜索使用IntelliJ Idea为我的Maven项目添加本地存储库的解决方案时遇到了这篇文章。

由于Sonatype改变了他们的路径并重新组织了自上一篇文章以来的下载,这里有一个更新的分步教程,可以将您的存储库编入索引,以便与IntelliJ Idea一起使用:

  1. here下载最新的独立索引器。
  2. 将其解压缩并进入此目录
  3. 从控制台运行以下命令:export REPODIR=/path/to/your/local/repo/ && java org.sonatype.nexus.index.cli.NexusIndexerCli -r $REPODIR -i $REPODIR/.index -d $REPODIR/.index -n localrepo
  4. 在存储库目录中的目录.index中,将创建一些文件,包括文件“nexus-maven-repository-index.gz”,这是IntelliJ要查找的文件。

答案 1 :(得分:3)

您可以使用Maven Indexer CLI直接生成索引,但是当OSS项目可以免费使用托管版本时,为什么还要托管您自己的回购?

http://nexus.sonatype.org/oss-repository-hosting.html

答案 2 :(得分:0)

我正在查看maven索引器...但我不确定该方法中的最后一个参数 indexDir 是什么:

 public RepositoryIndexer createRepositoryIndexer(String repositoryId,
                                        File repositoryBasedir,
                                        File indexDir)

是它像repositoryBasedir中的起点吗?