【发布时间】:2018-01-16 09:02:47
【问题描述】:
我正在开发一个能够显示 Maven 项目依赖项列表的插件。为了使这成为可能,我阅读了 pom.xml 文件并在控制台上打印数据以进行调试。这工作得很好,直到我从 JAR 文件中尝试过:我得到了 FileNotFoundException(对于 pom.xml 文件)
- 有没有更好的方法来列出 Maven 项目的依赖项?
- 当我们在 JAR 文件中时如何读取 pom.xml ?
【问题讨论】:
-
您需要显示您正在使用的代码。但重要的提示是,您不能从类路径中读取资源作为
java.io.File对象,因为 jar 中没有“文件”/ -
我不能,因为我的代码在我公司的另一台计算机上,我无法将数据移动到我的个人计算机上。我使用了原始问题中指定的代码进行了小幅升级,但这在这里并不重要。我必须使用
InputStream吗?如果是,我如何在 jar 文件中调用InputStream,当它不在 Jar 文件中运行时,我如何使用java.io中的File? -
您可以尝试将 pom.xml 作为资源读取。
-
我想将 pom.xml 作为资源读取时工作,但我必须指定路径并且它是动态的:
META-INF/maven/{groupId}/{artifactId}/pom.xml。我不知道如何在运行时获取这两个具体数据 -
你知道 mvn dependency:tree 之类的东西吗?