如何将编译的jsp类中的行号映射到原始源代码?

时间:2013-08-30 10:29:41

标签: java jsp tomcat stack-trace

我的问题是如何解决已编译的jsp类中的异常。

示例:我从生产系统(在Apache Tomcat上运行)获得了以下堆栈跟踪:

java.lang.NullPointerException
    at jspc_compiled.infobox_jsp._jspService(infobox_jsp.java:147)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)

通过版本控制,我可以从发布的版本恢复原始Java文件和JSP文件。我也可以访问已部署的war文件。 我没有找到的,是将编译后的JSP中的行号映射回原始源代码的可靠方法。

有没有一种很好的方法来分析来自另一台机器的编译JSP中的堆栈跟踪?

相关的问题:如果我在本地机器上编译JSP(使用相同版本的源代码),编译后的JSP与其他机器上的JSP完全相同,是否可以保证?

1 个答案:

答案 0 :(得分:1)

Eclipse中,我们可以使用Tomcat为JSP创建的Java源代码进行调试