Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 无法在java堆栈跟踪中查看java源文件_Debugging_Ant_Jakarta Ee_Stack Trace_Javac - Fatal编程技术网

Debugging 无法在java堆栈跟踪中查看java源文件

Debugging 无法在java堆栈跟踪中查看java源文件,debugging,ant,jakarta-ee,stack-trace,javac,Debugging,Ant,Jakarta Ee,Stack Trace,Javac,我正在开发部署在Tomcat服务器上的web应用程序。在本地测试系统上,我使用Eclipse和WST将代码部署到服务器。如果抛出堆栈跟踪,我可以看到每行的源文件和行号——正如预期的那样 但是,如果在生产系统上引发异常,则源文件以及行号都是未知的。这仅适用于我自己的代码,对于外部库跟踪中的所有堆栈元素,源文件和行号都是已知的 我正在编译我的项目如下(使用Ant): 首先要检查的是主机服务器的日志记录级别设置。我找到了解决方案-简单而愚蠢: 在ant javac步骤定义中,更改部件 debuglev

我正在开发部署在Tomcat服务器上的web应用程序。在本地测试系统上,我使用Eclipse和WST将代码部署到服务器。如果抛出堆栈跟踪,我可以看到每行的源文件和行号——正如预期的那样

但是,如果在生产系统上引发异常,则源文件以及行号都是未知的。这仅适用于我自己的代码,对于外部库跟踪中的所有堆栈元素,源文件和行号都是已知的

我正在编译我的项目如下(使用Ant):


首先要检查的是主机服务器的日志记录级别设置。

我找到了解决方案-简单而愚蠢:

在ant javac步骤定义中,更改部件

debuglevel=“行、变量、源”

debuglevel=“行、变量、源”(无空格)

它会起作用的


Erik

您能发布该行的中断位置及其显示的相应日志跟踪吗?您是在本地部署与部署到生产中的war文件相同的war文件,还是在重建该文件?我有相同的ant脚本,它构建时没有问题。您是否验证部署到生产服务器上的代码使用此ant脚本进行构建?许多RE人员试图避免将调试数据放入他们构建的JAR中。
<javac srcdir="${src}" destdir="${build}" fork="true" debug="true" debuglevel="lines, vars, source">
    <classpath refid="classpath" />
</javac>
<target name="compile" depends="update-dependencies">  
    <mkdir dir="${build}" />
    <javac srcdir="${src}" destdir="${build}" fork="true" debug="true" debuglevel="lines, vars, source">
        <classpath refid="classpath" />
    </javac>
    <javac srcdir="${tests}" destdir="${build}" fork="true" debug="true" debuglevel="lines, vars, source">
        <classpath refid="classpath" />
    </javac>

    <!-- Copy non-java files -->
    <copydir dest="${build}" src="${src}">
        <exclude name="**/*.java"/>
    </copydir>

    <copydir dest="${build}" src="${tests}">
        <exclude name="**/*.java"/>
    </copydir>
</target>


<target name="war" depends="compile">       
    <war destfile="${war.file}" webxml="WebContent/WEB-INF/web.xml">
        <fileset dir="WebContent" />
        <lib dir="${lib}" />
        <classes dir="${build}" />
    </war>
</target>
javax.naming.NamingException: Name is not valid
        at org.apache.naming.NamingContext.unbind(NamingContext.java:248)
        at org.apache.naming.NamingContext.unbind(NamingContext.java:282)
        at org.apache.naming.SelectorContext.unbind(SelectorContext.java:256)
        at javax.naming.InitialContext.unbind(InitialContext.java:416)
        at org.hibernate.impl.SessionFactoryObjectFactory.removeInstance(SessionFactoryObjectFactory.java:139)
        at org.hibernate.impl.SessionFactoryImpl.close(SessionFactoryImpl.java:894)
        at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.destroy(AbstractSessionFactoryBean.java:251)
        at org.springframework.orm.hibernate3.LocalSessionFactoryBean.destroy(LocalSessionFactoryBean.java:899)
        at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:184)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:487)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:463)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:431)
        at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1048)
        at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1022)
        at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:970)
        HERE: at my.pkg.ContextLoaderListener.closeWebApplicationContext(Unknown Source)
        HERE: at my.pkg.ContextLoaderListener.contextDestroyed(Unknown Source)
        at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4174)
        at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4778)
        at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:924)
        at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1319)
        at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1290)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:323)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
        at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1086)
        at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1098)
        at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:450)
        at org.apache.catalina.core.StandardService.stop(StandardService.java:587)
        at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
        at org.apache.catalina.startup.Catalina.stop(Catalina.java:648)
        at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:692)