2

我有一些自动生成的 Ant 构建脚本,我需要使用它们来构建应用程序。我正在使用 Ant 1.8.1 和 Java 1.6。这些脚本使用 Apt Ant 任务,根据任务参考,它在 Java 1.6 中已经过时了,因为它可以在编译器中处理注释。但是,Apt 目标会生成我的应用程序需要的额外类,而我无法找到使用 javac 复制它的方法。

问题是,当执行脚本时,Apt 任务失败并抱怨它需要 1.5+ 的 JDK,即使我安装了 1.6 JDK。我尝试用<apt>标签替换<javac>标签,尽可能多地复制属性,但是在查找应该由<apt>任务生成的类时,构建会失败。
我还尝试安装 1.5 JDK 并针对它运行 Ant 脚本,虽然 Apt 任务运行良好,但 javac 任务抱怨错误的类文件,因为它们是在 1.6 中编译但针对 1.5 运行的。所以我在 1.5 中完全重建了源代码,但编译器仍然抱怨一个错误的类文件,尽管我注意到在这发生之前它在构建过程中确实走得更远。

我束手无策,只是想知道是否有任何方法可以让 Apt 任务与 Java 1.6 配合得很好,或者确实有任何其他方法可以用我可能错过的不同任务来完成与 Apt 相同的工作?

4

1 回答 1

0

找到了解决方案 - 它比我想象的要简单。

要修复脚本,我只需要切换到旧版本的 Ant。Weblogic 附带 Ant 1.6.5,在将我的 ANT_HOME 指向这个版本而不是 Apache 1.8.1 之后,脚本运行时没有任何抱怨。

于 2011-01-05T18:28:19.513 回答