boxmoe_header_banner_img

Hello! 欢迎来到悠悠畅享网!

文章导读

如何收集 Maven 项目中使用的第三方 JAR 包列表


avatar
站长 2025年8月13日 4

如何收集 Maven 项目中使用的第三方 JAR 包列表

本文将指导你如何使用 Maven 命令来收集项目中所依赖的所有第三方 JAR 包的列表。了解项目依赖关系对于依赖管理、安全审查以及避免潜在的冲突至关重要。Maven 提供了便捷的命令来完成这项任务。

正如文章摘要所述,我们可以利用 Maven 的 dependency:build-classpath 插件来实现这个目标。

使用 mvn dependency:build-classpath 命令

在 Maven 项目的根目录下,打开命令行终端,并执行以下命令:

mvn dependency:build-classpath

执行完毕后,你将在控制台看到类似以下的输出:

[INFO] Scanning for projects... [INFO] [INFO] ---------------------< com.example:my-project >---------------------- [INFO] Building my-project 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-dependency-plugin:3.1.1:build-classpath (default-cli) @ my-project --- [INFO] Dependencies classpath: /Users/user/.m2/repository/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/Users/user/.m2/repository/com/google/guava/guava/29.0-jre/guava-29.0-jre.jar:/Users/user/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:/Users/user/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/Users/user/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/Users/user/.m2/repository/org/checkerframework/checker-qual/2.11.1/checker-qual-2.11.1.jar:/Users/user/.m2/repository/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar:/Users/user/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time:  1.526 s [INFO] Finished at: 2023-10-27T10:00:00+08:00 [INFO] ------------------------------------------------------------------------

在 [INFO] Dependencies classpath: 后面,你会看到一个由冒号 (:) 分隔的字符串,其中包含了所有第三方 JAR 包的完整路径。

处理输出结果

你可以将这个字符串复制下来,并使用文本处理工具或脚本语言(如 Python)对其进行分割,从而得到一个清晰的 JAR 包列表。

例如,使用 Python:

classpath_string = "/Users/user/.m2/repository/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/Users/user/.m2/repository/com/google/guava/guava/29.0-jre/guava-29.0-jre.jar:/Users/user/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:/Users/user/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/Users/user/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/Users/user/.m2/repository/org/checkerframework/checker-qual/2.11.1/checker-qual-2.11.1.jar:/Users/user/.m2/repository/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar:/Users/user/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar" jar_list = classpath_string.split(":")  for jar_path in jar_list:     print(jar_path)

这段代码会将 classpath 字符串分割成一个列表,并逐行打印每个 JAR 包的路径。

注意事项

  • 确保你在执行 mvn dependency:build-classpath 命令时,位于 Maven 项目的根目录下,即包含 pom.xml 文件的目录。
  • 该命令会列出所有依赖的 JAR 包,包括直接依赖和传递依赖。
  • 如果你的项目使用了不同的 Maven Profile,你可能需要指定 Profile 来获取特定环境下的依赖列表。例如:mvn dependency:build-classpath -P production

总结

使用 mvn dependency:build-classpath 命令是收集 Maven 项目中第三方 JAR 包列表的简单有效的方法。 通过对输出结果进行处理,可以方便地进行依赖分析和管理。 希望本文能帮助你更好地管理 Maven 项目的依赖关系。



评论(已关闭)

评论已关闭