有没有人发现根据文件系统更改自动触发ant构建过程的任何方法?
我基本上希望我的ant构建系统开始构建类似于IDE(编译java类),但是来自某种命令行服务。
如果没有,那么总是用Java编写代码并将Ant API集成到其中。
我熟悉像詹金斯之类的持续集成系统,但我需要触发构建而不是签入。此外,我希望它独立于IDE,因为它可以用于后期保存。
我正在寻找没有源控制要求的独立构建服务。
答案 0 :(得分:2)
由于您使用的是Ant,我假设基于Java的目录轮询程序在这里会有所帮助。您可以使用IO notification api
编写程序页面上的注释
何时使用和不使用此API
Watch Service API专为需要的应用程序而设计 通知有关文件更改事件。它非常适合任何人 应用程序,如编辑器或IDE,可能有许多打开 文件和需要确保文件与之同步 文件系统。它也非常适合应用程序服务器 监视目录,可能等待.jsp或.jar文件丢弃, 为了部署它们。
此API不适用于索引硬盘驱动器。大多数文件系统 实现具有对文件更改通知的本机支持。该 Watch Service API在可用的情况下利用此支持。 但是,当文件系统不支持此机制时,Watch 服务将轮询文件系统,等待事件。
修改
在我写完之后,这个问题及其答案似乎在这里更有用:Is there a sophisticated file system monitor for Java which is freeware or open source?
答案 1 :(得分:1)
广泛实践的方式是“持续构建”/“持续集成”的方式。工作流示例:
Lot的持续集成服务器(Bamboo,Jenkins,Go)本身支持Ant。
您还可以在IDE中设置保存后挂钩。大多数现代支持它:IntelliJ,NetBeans,Eclipse。
在google中查找“持续集成”。
答案 2 :(得分:0)
一位朋友向我指出:
监控变更,执行和独立任务的小脚本。
如果有人有更好的方法直接使用ANT脚本,请告诉我。