如何使用 maven 中的属性对路径中的文件做出反应?
我想仅当某个文件不存在时才使用我的 Maven 项目的某些插件执行。该文件的路径可以更改 - 这就是为什么它必须包含一个属性(如果情况并非如此,请纠正我)。一个好的方法是对文件使用配置文件激活,但因为路径有一个属性,所以这不起作用(如 Maven '构建配置文件简介')。
也就是说,问题是:您知道一种仅用一个 pom 即可实现所需行为的方法吗?
当然,执行器插件提供了对文件做出反应的有限方式,但我不想必然失败或中断构建。
I want to use some plugin executions of my maven project only when a certain file does not exist. The path to this file can change - that's why it must contain a property (and please correct me if that's not the case). A good way would be to use profile activation with the file, but because the path has a property this doesn't work (as stated in the Maven 'Introduction to build profiles').
That said, the question is: Do you know a way to achieve the desired behaviour only with one pom?
Of course the enforcer plugin offers a limited way of reacting on files but I don't want to necessarily fail or interrupt the build.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你其实无能为力。以下是您的选择:
接受这些限制。配置文件路径的唯一方法是通过系统属性(用户属性是使用配置文件评估的,而不是相反):
<前><代码><简介>;
foobar
<激活>
<文件><存在>${file.path}
mvn -Dfile.path=some/path/file.txt 全新安装
以编程方式调用执行,例如使用 Maven Invoker。要么
上述任一选项都必须充当调度程序,根据属性的评估使用调用程序调用 mojos。
以
There's not really much you can do. Here are your options:
Live with the restrictions. The only way you can configure the file path is through a system property (user properties are evaluated using profiles, not the other way around):
Invoke the executions programmatically, e.g with the Maven Invoker. Either
Either one of the above options will have to behave as a dispatcher that invokes mojos using the invoker depending on evaluation of properties.