解决ANT不编译无响应

遇到ANT不编译无响应时可用调试方法,Run to line 有时也会让他提示出错误

注意java文件的字符编码,ANT采用的是utf-8编码,如果java文件的编码是GBK

请复制java文件中所有代码,修改java文件编码集后,再把代码粘贴进去,再运行ANT编译

还有一点,最好不要编译带中文注释的java文件

 

实际上可以在 Eclipse 中像调试 Java 文件一样地调试 Ant 文件,所有标准的调试特性都可用。这可能是 Eclipse Ant 集成中最好的功能。

在目标中放置断点

就像对 Java 文件所做的一样,我们在目标中的代码行上放置断点,这些代码行调用了我们要单步调试的任务。要在代码行上放置断点,只要在代码行左边的灰色条形区域上单击即可。出现一个绿色的球,表明断点已经设置好(见图 15)。通过在 Breakpoints 视图中单击或禁用断点,可以临时地启用或禁用断点。被禁用的断点显示为白色的球。注意,与 Java 断点不同,我们不能在断点上设置命中次数或条件 —— 我们在调试 Ant 文件时不需要用到它们。


图 15. 构建文件中的代码行上设置的断点
构建文件中的代码行上设置的断点

调试构建文件

现在开始调试。在 Ant 视图或 Outline 视图中右击一个目标,然后单击 Debug As > Ant Build。与调试 Java 文件一样,当执行到达我们设置了断点的代码行时,构建文件就会暂停。

下面是重要的部分:单击 Debug 视图中的 Step Over 按钮,单步通过构建文件中的代码行,就像单步通过 Java 语句一样(见图 16)。当我们单步通过每个任务时,任务将被执行并产生输出,我们查看这个输出可以看到构建过程中出了什么错。Run to Line 功能也是可用的,所以我们可以右击一行代码并单击 Run to Line,以暂停构建文件的执行,直到到达这个特定的行才继续执行。这个过程类似于在一个一旦到达就会被删除的代码行上设置临时断点。


图 16. 单步通过构建文件中的代码行
单步通过构建文件中的代码行

Debug 视图显示当前正在执行的任务的调用堆栈。如果一个任务调用另一个目标 —— 即 antcall —— 那么该目标就会出现在调用堆栈中的当前任务之上。

还有一个 Variables 视图是可用的(见图 17)。打开该视图可看到所有的 Ant 属性,这些属性是变量的 Ant 等价物。属性分组在三个部分中:

  • System properties:从系统中为构建设置的属性
  • User properties:诸如使用 -D 选项设置的属性
  • Runtime properties:在运行时设置的构建文件中定义的属性

图 17. Variables 视图显示所有属性
Variables 视图显示所有属性

注意,与 Java 调试器不一样,Ant 调试器不允许我们更改 Variables 视图中显示的属性的值。

猜你喜欢

转载自leon-s-kennedy.iteye.com/blog/1539403