运行时出现Unknown Source的问题

问题描述:

有一个web工程以来于几个java工程,发布时,需要将几个java工程达成jar包放到web工程,运行期间突然抛出异常,异常恰好时其中一个java工程的一个类抛出来的,但是抛出的异常信息里面含有Unknown Source,看不出异常发生在该类的哪个方法哪一行。打开jar中的该类,关联jar的源代码,设置断点,发现断点不起作用,怎么都没进去。

问题分析:

怀疑1:开源的jar是不是也有这个问题,试过后发现开源的jar没有这个问题。

怀疑2:自己打的jar包有问题,能够运行但不能调试,根据“Unknown Source“关键字到网上搜索一下,最终发现了问题所在。是ant打包时没有加一些属性导致的。

解决方法:

在ant的打包脚本上添加debug="true" debuglevel="source,lines,vars",具体如下:

<javac destdir="${build.classes}" srcdir="${src.java}"
classpathref="lib.classpath" encoding="utf-8" 
debug="true" debuglevel="source,lines,vars"/>
经验分享 程序员 微信小程序 职场和发展