【发布时间】:2016-10-10 06:09:23
【问题描述】:
我有一个名为 devbuild.xml 的 antscript。这个脚本只是将我的文件部署到 1 个 tomcat 和 2 个 karaf 实例,而不调用 javac 或类似的东西。编译代码的构建本身是通过使用默认 java 构建器的 Project -> Build Automatically 菜单选项发生的。脚本本身可以通过外部工具配置以 2 种方式调用(启用或不启用可选步骤)。
但是,我现在有几次意外部署到 Tomcat,而我的代码出现编译错误(项目资源管理器中的红色 x 出现在有错误的文件上)。我想通过检查当前正在部署的构建是否有文件来避免这种情况,但最好不必重建整个项目。
所以本质上,我想在部署开始时检查整个项目的最新版本是否存在编译时错误,而不必手动检查它们,如果有任何错误,请取消部署。这可能吗?
【问题讨论】:
-
您可以使用
<touch>task 在 Ant 构建开始和构建成功完成时触摸文件。例如,构建开始时为<touch file="build.begin"/>,构建成功完成时为<touch file="build.done"/>。部署时,您的 Ant 脚本可以检查build.done是否比build.done更新。 -
@ChadNouis 不过,这需要一个自定义构建脚本,这意味着我也可以在我的 antscript 中调用
<javac>任务并出现故障。 “自动构建”窗口中的构建本身只是默认的 Java 构建器。 -
你可以在你的 ant build xml 中使用
javac任务,它会编译你的源代码,如果代码不可编译,编译会失败 -
@Sanjeev 就是这样:我宁愿不使用
javac任务。我的意思是,它已经编译了,为什么我不能检查最近的编译?