在Maven中获取工件的全名
问题描述:
我需要知道Maven中特定工件的完整文件名。我看着versions-maven-plugin,但它似乎改变了POM本身。有另一种方法来达到我的目标吗?我想将完整的工件名称存储在一个属性中,以便我可以用Java代码进行拾取。在Maven中获取工件的全名
答
通常情况下,你有你的依赖关系,并让maven完成从存储库中为你检索文件的所有工作。 但是你想在Java代码中使用它 - 什么是Java代码? 您是否正在编写自己的mojo,在生命周期的安装阶段执行某些操作? 然后,您应该能够访问当前正在处理的工件,从那里获取文件名是没有问题的。 但是,也许你只有groupId,artifactId,版本和已有工件的类型。 有了这些信息,导航到你的本地Maven仓库应该没有问题,打开目录:groupId/artifactId/version,看看你有什么文件。通常应该有你的.pom a .jar,也许是md5-hashsum和一些maven元数据。如果你不确定哪个文件是有趣的:用最大的文件大小。
感谢您的回答。我不是在编写一个mojo,只是为客户编写一个用于家庭编写的测试框架的代码。我想避免编写Java代码,只需使用属性将Maven的完整文件名传递给Java代码。作为一种解决方法,我现在使用maven-dependency-plugin中的标记,所以我不必处理版本并始终具有相同的文件名。 –
2010-06-02 08:43:51