我在哪里可以找到有关Maven存储库的Maven索引中包含的内容的更多详细信息?哪里可以找到有关这一切如何运作的更多细节?我对maven-indexer有点熟悉,但我仍有一些灰色斑点......
解压缩和压缩索引有什么区别?
Maven代理存储库是否只具有远程索引,还是它还保留了当前在本地缓存的工件的索引?
我正在研究这个主题,并且遗憾的是,很少有关于它的文档.
我已经从http://mirrors.ibiblio.org/pub/mirrors/maven2/dot-index/nexus-maven-repository-index.gz下载了为Maven Central生成的索引.
我想列出这些索引文件中的工件信息(例如groupId,artifactId,version).我已经读过,有一个高级API.似乎我必须使用以下maven依赖项.但是,我不知道使用什么入口点(哪个类?)以及如何使用它来访问这些文件:
<dependency>
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-indexer</artifactId>
<version>3.0.4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud) 我为一些开源运行我自己的小Maven仓库.我没有专用服务器,所以我使用谷歌代码库,部署到文件系统,然后提交和推送.适合我的作品.
但是一些Maven工具正在寻找a nexus-maven-repository-index.properties和索引(在GZ中).我想生成这个索引
我怎样才能做到这一点?是否有能够生成索引的工具(Java main)?还提示如何使用适当的Nexus Jars和一些命令行工具.
我正在尝试将代理添加到公共存储库(特别是camel-extra).但是,我的Nexus日志中出现以下错误:
无法获取存储库camel-extra的远程索引
然后再往下走
我们请求的remoteURL在远程服务器上不存在(remoteUrl ="http://camel-extra.googlecode.com/svn/maven2/releases/.index/nexus-maven-repository-index.properties")
我确保'下载远程索引'是'真',修复索引,更新索引,一切都无济于事.浏览到提供的URL会显示工件存在.
因此,如果存储库没有此文件,是否通过Nexus无法代理?
TIA,罗伊
UPDATE
感谢大家的答案 - 能够在没有索引的情况下拉出文物.再次感谢!
我们使用Sonatype的Nexus 1.9.2.2来代理maven存储库.我们的问题是索引正在吃掉这么多的磁盘空间.我们所有的存储库都占用了大约25GB的空间,而且还在增长.
例如,这个目录有大约4GB的索引文件,如下所示:
sonatype-work/nexus/storage/mvnsearch/.index/nexus-maven-repository-index.825.gz
sonatype-work/nexus/storage/mvnsearch/.index/nexus-maven-repository-index.826.gz
sonatype-work/nexus/storage/mvnsearch/.index/nexus-maven-repository-index.827.gz
sonatype-work/nexus/storage/mvnsearch/.index/nexus-maven-repository-index.828.gz
...
Run Code Online (Sandbox Code Playgroud)
是否有任何干净的方法来清除这些文件?例如,使用计划任务?
提前致谢!
aether有一个函数来获取给定工件的所有版本,如下所示:
org.sonatype.aether.impl.VersionRangeResolver.resolveVersionRange(
RepositorySystemSession session,
VersionRangeRequest request )
Run Code Online (Sandbox Code Playgroud)
是否有一个以太函数来列出存储库中的所有工件?
或者如何获得该列表?
ps:我知道大多数maven存储库提供了一个人类可读的索引,你可以解析和爬行.这不是一个安全的解决方案,只是一种解决方法,我不是在寻找这种类型的解决方案.
我想了解Nexus和Artifactory等工件存储库的索引是如何工作的.它提供了什么好处?我的意思是 - 它如何帮助解决工件时使用的逻辑是什么?
我的理解是Lucene索引包含有关在给定的代理存储库或组中存在哪些工件的信息,并且一旦下载了这些索引,您就可以轻松检查远程存储库是否包含您正在查找的工件,并且您可以尝试从拥有它的存储库中解决它.这是唯一的用途吗?是否也为本地解决方案查询索引(因为每个存储库都有索引)...?这实际上是如何工作的?
maven ×6
nexus ×6
artifactory ×2
java ×2
archiva ×1
diskspace ×1
lucene ×1
purge ×1
repository ×1
space ×1