StackTrace中的(未知来源)与Tomcat7,Maven和Jensor Profiler

时间:2013-12-02 15:30:58

标签: java maven tomcat tomcat7 stack-trace

  

相关问题

     

(Unknown Source) in Exception stack trace

     

Unknown Source in Stacktrace Java Eclipse

我的案例

我正在使用maven 3.1.0编译项目。然后它部署在Tomcat 7上我的堆栈跟踪,我得到(未知来源)而不是(myclass.java:14)。它发生在我的类中,但与其他库一起正常工作。

从相关主题中,我了解到这是由于类文件中缺少行号。这可能是因为使用了jre或错误的配置。这是我尝试过的一些步骤:

  • 我最近从jdk 1.6迁移到jdk1.7.0_21(这看起来是问题的原因)。我试过三个java安装(jdk1.7.0_21,32& 64bits和jdk1.7.0_45)。 JAVA_HOME指向正确的文件夹。
  • 我看到我们可以为javac添加debug和debuglevel选项。我尝试使用以下配置将它们添加到maven。我也强迫使用javac而不是javax。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>${jdk.version}</source>
                <target>${jdk.version}</target>
                <debuglevel>lines,vars,source</debuglevel>
                <debug>true</debug>
                <forceJavacCompilerUse>true</forceJavacCompilerUse>
            </configuration>
        </plugin>
    
  • 删除目标文件和tomcat war。

什么都行不通......

修改 在类上使用javap -l显示LineNumberTable:

public void init();
  LineNumberTable:
    line 31: 0
    line 32: 10
    line 33: 21
    ...

问题很可能来自tomcat7方面。

1 个答案:

答案 0 :(得分:1)

问题来自JVM。

我使用Jensor来分析我的应用程序。它使用Aspect和javaagent来收集数据。

通过从java选项中删除-javaagent:...解决了问题。