最近在写ant编译时,运行中老出现莫名的Unknow Source,异常不会定位到具体的行,于是狗狗了一把,才知道ant和java编译是不一样的:
当通过javac编译时,默认相当于指定-g:source,lines,这样编译出来的class文件中会包含源代码和行号信息;而通过ant编译时,默认相当于指定-g:none,这样编译出来的class文件会比较小,但是不包含任何调试信息,所以出错的时候就会打印出上面的错误堆栈信息。
([url]http://bbs.51cto.com/thread-499303-1.html[/url])
加上debug="true" debuglevel="source,lines,vars"即ok,如下:
ps; je博客第一篇,希望今年能成长~~~
当通过javac编译时,默认相当于指定-g:source,lines,这样编译出来的class文件中会包含源代码和行号信息;而通过ant编译时,默认相当于指定-g:none,这样编译出来的class文件会比较小,但是不包含任何调试信息,所以出错的时候就会打印出上面的错误堆栈信息。
([url]http://bbs.51cto.com/thread-499303-1.html[/url])
加上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"/>
ps; je博客第一篇,希望今年能成长~~~