Maven:通过属性访问传递依赖的版本
在Maven项目中,我的一个直接依赖项具有间接依赖性com.foo:bar。 我需要的是Maven属性(例如${bar-version}
),其中包含此工件的版本号。 我需要这种机制来处理几个间接依赖项的版本号。
我从那个问题中了解到,我可以在antrun插件中使用${maven.dependency.com.foo.bar.jar.path}
访问工件jar的本地路径。 我现在使用的解决方法是在antrun执行中解析它的值(例如/path/to/repository/com/foo/bar/2.1.1/bar-2.1.1.jar
)并在那里定义一个属性(配置exportAntProperties
是我的朋友)。 但是,由于默认情况下ant没有良好的字符串正则表达式操作,这非常麻烦。
是否有其他属性如${maven.dependency.com.foo.bar.jar.path}
? 我尝试了${maven.dependency.com.foo.bar.jar.version}
,但它没有用。 我还想了解这个属性背后的机制。 它是由Java类支持的吗? 就像project.organization.name
是相应的Maven类中的getProject().getOrganizarion().getName()
…
欢迎任何帮助!
谢谢,约翰内斯