关于lombok ant编译打包的问题,各位有兴趣的一起研究下

lombok应该大多数人都有接触过,但是最近我在ant编译打包的时候遇到了一个问题困扰我好几天一直都未能解决。。。。
我的lombok是和eclipse集成开发的,安装很简单,直接运行lombok.jar选择eclipse安装路径即重启eclipse可,这不多说。
我用lombok主要是为了方便开发和提高代码可读性 ,常用的注解主要是@Getter、@Setter@Data@@Log4j等...
在项目部署的时候,eclipse自动编译后export导出的war没有问题, 而我项目习惯用ant打包, 但是在ant打包的时候老是会报一个异常:
[javac] D:\eclipse-j2ee\app-workspace\app\src\com\ysoft\struts2\TestAction.java:34: 找不到符号
    [javac] 符号: 方法 getUser_name()
    [javac] 位置: 类 com.ysoft.entity.TUser
    [javac] System.out.println("abcd"+user.getUser_name());

意思是编译器找不到对象的getUser_name()方法?很纳闷lombok.jar包已经放classpath了啊?怎么编译会出错,后来研究了下,@注解工作是在javac编译过后,再次读取class修改java字节码文件添加相应方法,且lombok.jar要放在bootstrap类加载路劲中,我尝试在ant运行环境的jvm启动参数列表里面加入-cp lombok.jar 没有效果,加上
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar
也不对, 最后我在build.xml的javac里面的 <compilerarg value="...."/>也没有效果, 几经周折还是不见成效。 实在是搞不定了。。。。。

猜你喜欢

转载自litao-java-eye.iteye.com/blog/1176953