如何找到 Maven 插件目标的依赖项

时间:2020-12-30 21:36:43

标签: java maven

我试图找出特定插件目标的依赖项来自哪里。我知道依赖项存在,因为 Maven 在我第一次运行目标时下载了它们。而且它们不是我项目的(直接)依赖项,因为我先运行了 basic mean: 0.0013072469737380743 statistics.mean: 0.025932796066626906 statistics.fmean: 0.001833588001318276 ,然后这些依赖项并没有被下载。

在这种特定情况下,我试图弄清楚运行 mvn clean install 时的依赖项是什么,但我希望答案是通用的。例如,尽管我已经多次构建这个项目,但当我运行这个目标时,Maven 下载了一堆像 maven-antrun-plugin 这样的新 jar。

以下是我尝试过的方法:

  • mvn sonar:sonar 显示项目的依赖项,但不显示插件目标的依赖项(列表中不包含与 SonarQube 相关的任何内容)。
  • mvn dependency:tree 也不包含与 SonarQube 相关的任何内容。
  • mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:effective-pom -Dverbose=true 打印出看起来像依赖关系图的内容,但它缺少我第一次运行 mvn -X sonar:sonar 目标时 Maven 下载的 jar。
  • sonar:sonar 似乎是为了下载插件的依赖项,但没有捕获 mvn -X dependency:resolve-plugins 依赖项。如果我清除 Maven 缓存,运行 sonar:sonar,然后运行 ​​mvn dependency:resolve-plugins,Maven 必须下载 jar。

2 个答案:

答案 0 :(得分:1)

maven 下载的依赖项一般都存储在 pc 本地的地址 C:\Users\yourUser/.m2 这与您的项目无关,这样您就不必重新加载依赖项您已经在其他项目中使用。

我希望我已经理解了你的问题,并且我的回答对你有用,问候。

答案 1 :(得分:1)

使用您的 IDE 导航到插件项目的 POM,然后查看依赖关系树。

或者通过将插件 POM 复制到您的文件系统并运行 DELETE a FROM abc a INNER JOIN (SELECT 100 column_a, 'US' column_b UNION ALL SELECT 200 column_a, 'IN' column_b) t ON t.column_a = a.column_a AND t.column_b = a.column_b; 来手动执行此操作。

enter image description here

相关问题