莫名的Unknown Source

最近在写ant编译时,运行中老出现莫名的Unknow Source,异常不会定位到具体的行,于是狗狗了一把,才知道ant和java编译是不一样的:

当通过javac编译时,默认相当于指定-g:source,lines,这样编译出来的class文件中会包含源代码和行号信息;而通过ant编译时,默认相当于指定-g:none,这样编译出来的class文件会比较小,但是不包含任何调试信息,所以出错的时候就会打印出上面的错误堆栈信息。

加上debug="true" debuglevel="source,lines,vars"即ok,如下:

<javac destdir="${build.classes}" srcdir="${src.java}"classpathref="lib.classpath" encoding="utf-8" debug="true" debuglevel="source,lines,vars"/>

 

你可能感兴趣的:(java,ant)