2

Maven Central 的搜索工具提供了几个不同的字段供您搜索。最熟悉的当然是组 ID、工件 ID 和版本。但还有其他人。例如,这是一个在名为 的字段上搜索的查询tags

http://search.maven.org/#search%7Cga%7C1%7Ctags%3Asbtplugin

如果您在该列表中选择一个工件并深入研究它,您会发现确实(一旦您通过断开的链接!)其中pom.xml有一个sbtVersion属性。

所以也许,我想,这就是你填充字段的方式:只需在节tags中添加一个任意属性。properties当然,上面寻找的标签是sbtplugin,而检查的属性是sbtVersion,所以显然涉及到其他东西,但是我能找到的任何地方都没有记录该机制。

那么这个索引字段是如何被填充的呢 它是 Nexus 特有的功能吗?我可以使用 填充它maven-deploy-plugin,其目标似乎没有暗示这样的事情吗?

如果我可以控制放在那里的内容,那么能够以编程方式在该字段上进行搜索将非常非常有帮助。

4

2 回答 2

1

Sonatype 的 Joel Orlina 写道:

支持search.maven.org的旧版本索引器使用 POM 中元素的内容填充该tags字段。<description>该字段通过一些标准StopWord过滤器,可能还有其他一些 Lucene 分析器,因此完整内容不会进入tags 字段。几年前我们做了一些改变来帮助 scala/sbt 社区,基于我们在 scala/sbt-plugin poms 中发现的特定元素,我们合成了三个标签:sbtPluginsbtVersionscalaVersion。这允许 sbt 插件的用户搜索那些类型的工件,这些工件在许多情况下不符合 Maven2 存储库布局,因此通常不会被search.maven.org索引器索引。

标签字段没有太多其他内容。

于 2017-03-13T21:49:31.113 回答
0

引用 Maven 中心本身的API 描述

http://search.maven.org/#search|ga|1|tags:sbtplugin

返回中心的所有工件sbtplugins。sbtplugin 被定义为具有 pom 的工件,包括属性 "sbtVersion" 和 "scalaVersion"

http://search.maven.org/#search|ga|1|tags:sbtVersion-0.11

返回使用 sbt 版本 0.11的所有中央工件

于 2017-03-11T05:24:35.847 回答