在Maven项目中,我的一个直接依赖项具有间接依赖性com.foo:bar。
我需要的是一个Maven属性(例如${bar-version}
),其中包含此工件的版本号。我需要这种机制来处理几个间接依赖的版本号。
我从that question了解到,我可以在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()
一样......
欢迎任何帮助!
谢谢, 约翰内斯