Maven中的依赖关系jar文件列表
使用Maven 2,有没有一种方法可以列出的jar依赖只是文件名?
mvn dependency:build-classpath 可以列出jar文件,但是这将包括在我的本地存储库中的位置的完整path。 我所需要的基本上只是文件名的列表(或复制依赖关系目标复制的文件名)。
所以我需要的列表将是类似的
 activation-1.1.jar,antlr-2.7.6.jar,aopalliance-1.0.jar etc... 
理想的是作为一个maven属性,但我想,像build-classpath这样的文件可以生成。
 我想要实现的是将一个Bundle-ClassPath写入一个OSGi包的手动维护的MANIFEST.MF文件。  (你不需要明白这一点来回答这个问题。) 
澄清:问题不在于如何将清单头文件写入MANIFEST.MF文件中的jar(这很容易googleble)。 我正在问如何获得我想写的数据,即上面显示的列表。
这个命令将会生成你的maven项目的依赖关系树:
 $ mvn dependency:tree 
我相信你会喜欢的结果:-)
 尽我所知,你不能得到完全的输出,用逗号和空格。 无论是通过命令行还是通过pom.xml文件,如果您指定空格或'(空string)作为pathSeparator或fileSeparator的替代品,maven-dependency-plugin或CLI会fileSeparator 。 所以,你可能会被迫达成某种妥协。 您可以 
     mvn dependency:build-classpath -Dmdep.pathSeparator =“:”-Dmdep.prefix =''-Dmdep.fileSeparator =“:”-Dmdep.outputFile = classpath
 然而,这应该让你一个完整的清单,由'::'而不是','分开,但它的作品。 如果你运行: 
     mvn依赖项:build-classpath -Dmdep.pathSeparator =“@ REPLACEWITHCOMMA”-Dmdep.prefix =''-Dmdep.fileSeparator =“@”-Dmdep.outputFile = classpath
  并将其附加到generate-resources阶段,稍后通过在生命周期的process-resources阶段中设置正确的属性来过滤该资源,那么您应该只能得到逗号。 
你可以看到完整的选项列表: http : //maven.apache.org/plugins/maven-dependency-plugin/build-classpath-mojo.html
你看过Apache Felix项目吗? 它有一大堆的插件,包括一个应该做你想做的插件 。
 另外,你是否用<manifestFile>试过了<addClasspath>标签? 这应该具有将类path合并到您的清单中的预期效果。 
 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> ... <configuration> <archive> <addClasspath>true</addClasspath> <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile> </archive> </configuration> ... </plugin> 
Maven可以自动在您的清单中构build类path: http : //maven.apache.org/guides/mini/guide-manifest.html
这是Maven档案插件的configuration。
我可能会在这里丢失一些东西,但是因为您已经使用了复制依赖关系,所以听起来像您真正所做的只是指定目录中的文件列表。
Ant可以为你做这个没有任何问题,就像一个shell脚本一样。
 为了给现有的答案增加一个缺口,当前的maven-dependency-plugin允许使用outputProperty参数将类path保存到一个属性中。 
- 用cmake处理头文件的依赖关系
- npm通过package.json中的依赖来安装私人github存储库
- 将github库作为依赖添加到Android-Studio项目中
- 列表python包依赖没有加载它们?
- 尝试“System.Web.Mvc.PreApplicationStartCode.Start()”到关键方法“System.Web.WebPages.Razor.PreApplicationStartCode.Start()”失败
- 依赖地狱 – 如何将依赖关系传递给深度嵌套的对象?
- C和C ++标准之间的关系是什么?
- Android Studio – 导入外部库/ Jar
- 解决ghc-pkg检查logging的问题