gpt4 book ai didi

java - 以编程方式解析 Maven Artifact URL

转载 作者:行者123 更新时间:2023-12-04 04:44:34 24 4
gpt4 key购买 nike

短:给定(groupId、artifactId、version、repository URL)我可以以编程方式让 Maven 解析 Artifact URL 吗?

长:给定(groupId、artifactId、版本、存储库 URL),可以下载 Maven Artifact 。通常 Artifact 的 URL 如下所示:

scheme://{repository}/{groupId}/{artifactId}/{version}/{artifactId}-{version}.jar

对于 (org.apache.maven, maven-core, 3.0.0, http://repo.maven.org/maven2 ), Artifact URL 解析为:

http://repo.maven.org/maven2/org/apache/maven/maven-core/3.0.0/maven-core-3.0.0.jar

使用上面的推断模式,我可以使用字符串连接来为任何给定(groupId、artifactId、version、repository URL)生成 Artifact URL。但是,我不想依赖这种推断模式,因为它可能会在 Maven 的 future 版本中发生变化。

我能否以编程方式让 Maven 为我解析给定的 Artifact URL(groupId、artifactId、version、repository URL)?

最佳答案

许多 Maven 存储库都有一个 API,您可以使用它来搜索 Artifact 。例如,中央 Maven 存储库有一个,其文档为 here .

对于您的示例,中央存储库的 API 提供以下 URL 以直接链接到搜索:

http://search.maven.org/#search|ga|1|g:"org.apache.maven" AND a:"maven-core" AND v:"3.0"

以及用于返回 XML 数据(或 JSON,通过更改最后一个参数)的以下 URL:

http://search.maven.org/solrsearch/select?q=g:"org.apache.maven" AND a:"maven-core" AND v:"3.0"&wt=xml

在这种情况下,您仍然需要手动为 JAR 创建一个 URL(或抓取它的搜索结果),但其他存储库(如 Nexus )直接在 API 结果中提供它。

关于java - 以编程方式解析 Maven Artifact URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18389064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com