如何在ant build创建的jar的错误堆栈跟踪中获取源行号?

时间:2011-05-05 21:22:08

标签: java ant jar javac

我正在使用ant在eclipse中构建我的项目jar。我在tomcat上部署了这个jar。但是每当我的代码(在jar中)发生异常时,错误堆栈跟踪就会出现,但是行号不会出现 - 相反,它会显示未知来源。

如何获取错误堆栈跟踪中的行号?

2 个答案:

答案 0 :(得分:19)

您需要使用调试信息编译jar。具体来说,您需要找到编译后来jar的类的javac任务并添加debug="on"属性。例如:

<javac srcdir="${src}"
     destdir="${build}"
     classpath="xyz.jar"
     debug="on"
     source="1.4" />

可以找到完整的详细信息here

答案 1 :(得分:4)

属性“debug”需要值“true”或“false”,并转换为javac -g选项。
当明确要为-g指定参数时,可以通过定义属性“debuglevel”来实现,该属性接受“source”,“vars”和其他值(请参阅ant任务
文档以获取更多信息)细节)。
设置debug =“true”和debuglevel =“source”将附加源但不提供行号数据,debuglevel =“lines,vars,source”将为您提供所需的信息