ant打包日志出现Unknow Source
问题描述
osgi项目配置了ant自动打包之后日志抛错出现了Unknow Source的问题,导致定位不到具体行数

产生原因
通过查资料解决了该问题
其实出现Unknown Source的原因是在编译时没有指定相应的选项,具体可以参见javac -g系列参数的帮助。当通过javac编译时,默认相当于指定-g:source,lines,这样编译出来的class文件中会包含源代码和行号信息;而通过ant编译时,默认相当于指定-g:none,这样编译出来的class文件会比较小,但是不包含任何调试信息,所以出错的时候就会打印出上面的错误堆栈信息。
解决方案
在ant脚本中compile命令里的javac命令中添加dubug=true即可

我们看一下修改前和修改后的效果:

注意:修改之后一定要clean一下再编译打包,如果没有clean命令就手动把编译好的.class文件删除,再重新编译打包
评论
