0

我们有一个通过 Ant 编译的项目,我们遇到了一些问题,人们编写的代码只能由 eclipse 编译器编译,不能通过常规 javac 编译,所以我们在调用 ant 时通过传入 ecj* jar 文件来更改编译器 -线。

我们目前决定使用Project Lombok,它看起来不错,并且在本地eclipse IDE上运行良好,当通过构建脚本在服务器上编译时,它不会遇到任何异常,但在运行时他不能找到getter方法等。

lomboc.jar 文件位于我们在 build.xml 中指定的 lib 文件夹中。

有没有人有这种情况的经验?

谢谢

更新

我找到了一个链接http://projectlombok.org/setup/ecj.html,它解释了如何将它与ecj一起使用,但我不明白我如何使用它,因为我们调用ant并传入ecj jar文件lib 参数。

4

1 回答 1

1

最后我想通了。我必须使用<exec executable="java">来编译,而不是 javac 标记。野兔是我的例子:

<exec executable="${env.JAVA_HOME}/bin/java"> <arg value="-javaagent:${lombok_jar}=ECJ"/> <arg value="-cp"/> <arg pathref="compile.classpath"/> <arg value="-jar"/> <arg value="${ecj_jar}"/> <arg value="-cp"/> <arg pathref="compile.classpath"/> <arg value="-d"/> <arg value="${classes}"/> <arg value="${src}"/> </exec>

于 2014-03-02T21:19:10.753 回答