Maven:通过属性访问传递依赖的版本

Joh*_* S. 5 java ant properties maven

在Maven项目中,我的一个直接依赖项具有间接依赖性com.foo:bar.我需要的是Maven属性(例如${bar-version}),其中包含此工件的版本号.我需要这个机制来处理几个间接依赖的版本号.

我从那个问题中学到我可以${maven.dependency.com.foo.bar.jar.path}在antrun插件中访问工件jar的本地路径.我现在使用的解决方法是/path/to/repository/com/foo/bar/2.1.1/bar-2.1.1.jar在antrun执行中解析它的值(例如)并在那里定义一个属性(配置exportAntProperties是我的朋友).但是,由于默认情况下ant没有良好的字符串正则表达式操作,这非常麻烦.

还有其他${maven.dependency.com.foo.bar.jar.path}可用的房产吗?我试过了${maven.dependency.com.foo.bar.jar.version},但没办法.我还想了解这个属性背后的机制.它是由Java类支持的吗?就像project.organization.namegetProject().getOrganizarion().getName()在相应的Maven类...

欢迎任何帮助!

谢谢,约翰内斯