问题描述:
有一个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"/>
本文介绍了一种常见的情况,在使用自定义打包的Java类库时遇到UnknownSource错误,无法进行有效的源代码级调试。文章详细分析了问题的原因,并提供了解决方案,即在Ant打包脚本中添加debug属性。
2533

被折叠的 条评论
为什么被折叠?



