首页 > 解决方案 > 为什么这个 jar 在我的 Maven 项目的类路径中?

问题描述

我有一个包含一些依赖项的 maven 项目,生成的工件包含依赖项作为内部的 .jar 文件。

我可以检查有效的 pom,但这并没有显示依赖项的实际 .jar 文件名/类。

有没有办法打印依赖项 .jar 名称?
总是名字${artifactId}-${version}.jar吗?

标签: javamaven

解决方案


您可以使用 Maven 依赖插件查看 Maven 构建中使用的依赖项。要将依赖项作为列表查看,请使用:

mvn dependency:list

不过,更好的表示可能是依赖树,因为它清楚地显示了导入的依赖 POM 和传递依赖之间的关系:

mvn dependency:tree

如果您想查看构建中捆绑在一起的 JAR 的原始列表,您还可以使用依赖插件的copy-dependencies目标:

$ mvn dependency:copy-dependencies -DoutputDirectory="\${project.builddir}/bundled-jars" 
$ ls -1 target/bundled-jars

请注意,目的地在引号中并带有$转义,以便它可以使用 Maven 属性而无需调用 shell 替换。你也可以只写-DoutputDirectory=target/bundled-jars.


推荐阅读