如何使用 Apache Ant 提取文件名的一部分?
我想从 Ant 脚本外部生成的文件名中提取版本号。
外部构建工具(PDE 构建)在众所周知的目录中创建一个 artifactid-1.2.3.201101010101.jar
形式的文件,但我无法事先告知版本控制信息。我需要将该文件名中的版本部分 (1.2.3.201101010101
) 提取到 Ant 属性中以进行进一步处理,例如变量替换。
使用 ant-contrib 是可以接受的,但是我还没有找到提取此信息的方法。
I want to extract the version number from a file name generated outside of my Ant script.
An external build tool (PDE build) creates a file of the form artifactid-1.2.3.201101010101.jar
in a well-known directory, but I can not tell the versioning information beforehand. I need to extract the version part (1.2.3.201101010101
) from that file name into an Ant property for further processing, e.g. variable substitution.
Using ant-contrib is acceptable, however I have not found a way to extract this information.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是使用 ant-contrib PropertyRegex 任务的解决方案。
您可以通过将属性值写入临时文件,然后使用带有过滤器链的 loadfile 从中提取工件 id 来避免 ant-contrib。请参阅这个答案< /a> 为例。
输出
Here's a solution using the ant-contrib PropertyRegex task.
You could avoid ant-contrib by writing the property value to a temporary file and then using loadfile with a filterchain to extract the artifact id from it. See this answer for an example.
Output
使用 Ant 插件 Flaka 的直接解决方案:
输出
A straight solution with Ant addon Flaka :
output