gpt4 book ai didi

java - 查找还有哪些项目使用该项目作为maven依赖?

转载 作者:行者123 更新时间:2023-11-30 06:10:22 29 4
gpt4 key购买 nike

我们使用 Artifactory 来存储我们的 maven 生成的 java Artifact 。我们有许多相互依赖的相互关联的项目。是否可以使用 maven 或 Artifactory 来选择一个 Artifact 并查找所有将其作为依赖项的项目?

在下面的示例中,我想查找哪些项目使用 artifact1 v1.0.0。我希望能够使用 maven/Artifactory 来发现 artifact2 依赖于此版本的依赖项,但找不到不存在的 artifact3/4。理想情况下,如果我只是在寻找 artifact1 的用途而不考虑版本,那么找到 artifact2 也很好。

    <project>
<groupId>mygroup</groupId>
<artifactId>artifact1</artifactId>
<version>1.0.0</version>
</project>


<project>
<groupId>mygroup</groupId>
<artifactId>artifact2</artifactId>
<version>1.0.0</version>

<dependencies>
<dependency>
<groupId>mygroup</groupId>
<artifactId>artifact1</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</project>

<project>
<groupId>mygroup</groupId>
<artifactId>artifact3</artifactId>
<version>1.0.0</version>

<dependencies>
<dependency>
<groupId>mygroup</groupId>
<artifactId>artifact1</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
</project>

<project>
<groupId>mygroup</groupId>
<artifactId>artifact4</artifactId>
<version>1.0.0</version>

<dependencies>
<dependency>
<groupId>mygroup</groupId>
<artifactId>otherartifact</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</project>

最佳答案

这几乎是您首先使用 Artifactory 的主要原因之一。Artifactory 以其 AQL 的形式提供了非常广泛的搜索功能。 ,这正是您所要求的。

作为您的案例运行的示例:

builds.find(
{"module.dependency.item.name":{"$match":"*artifact1*"}}
).include("module.artifact.name")

将返回所有将 Artifact1 作为依赖项的构建(您还可以添加 "$and" 子句以将其限制为特定版本的 Arifact1 ),末尾的 include 将返回作为依赖项的模块的所有 Artifact (因此您将在其中看到 Artifact2你的情况)

这是我在名为 multi-module-build 的简单 Maven 构建上运行此查询时得到的示例输出,该构建具有多个模块,其中一个 (multi3)有一个名为 multi1 的依赖项:

"results" : [ {
"build.created" : "2016-03-10T09:08:51.283+02:00",
"build.created_by" : "admin",
"build.name" : "multi-module-build",
"build.number" : "10",
"build.url" : "http://localhost:9090/jenkins/job/multi-shmulti/10/",
"modules" : [ {
"artifacts" : [ {
"artifact.name" : "multi3-3.6-SNAPSHOT.war"
}, {
"artifact.name" : "multi3-3.6-SNAPSHOT.pom"
} ]
} ]
} ]

关于java - 查找还有哪些项目使用该项目作为maven依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35888073/

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