使用 Maven 2,有没有办法可以仅列出文件名形式的 jar 依赖项?mvn dependency:build-classpath 可以列出 jar 文件,但是这将包括它们所在位置的完整路径...
使用 Maven 2,有没有办法可以仅列出 jar 依赖项作为文件名?
mvn dependency:build-classpath
可以列出 jar 文件,但这将包括它们在我的本地存储库中的完整路径。我所需要的本质上只是一个文件名列表(或 copy-dependencies 目标复制的文件名)。
所以我需要的列表应该是这样的
activation-1.1.jar,antlr-2.7.6.jar,aopalliance-1.0.jar etc...
理想情况下作为 maven 属性,但我猜想,诸如 build-classpath 之类的文件可以生成就可以了。
我想要实现的是将 Bundle-ClassPath
一个 OSGi 包写入一个手动维护的 MANIFEST.MF 文件。 (您不需要理解这一点就可以回答这个问题。)
澄清一下:问题 不 在于如何将清单标头写入 jar 中的 MANIFEST.MF 文件(这很容易在 Google 上找到)。我问的是如何获取我想要写入的数据,即上面显示的列表。
这是你请求的命令
$ mvn dependency:tree
对于大型项目,它可以输出大量文本。我假设您想检查依赖关系树是否包含某个依赖关系,因此您不需要完整列表。
以下是在 Windows 上过滤输出的方法:
$ mvn dependency:tree | findstr javax.persistence
在 Linux 上你可以这样做:
$ mvn dependency:tree | grep javax.persistence
Maven 过滤依赖树的 (适用于 Windows cmd、MacOS 和 Linux shell):
$ mvn dependency:tree -Dincludes=javax.persistence:*
Maven 方式(Windows PowerShell):
$ mvn dependency:tree '-Dincludes=javax.persistence:*'