【问题标题】:(Unknown Source) in StackTrace with Tomcat7, Maven and Jensor Profiler(未知来源)在 StackTrace 中使用 Tomcat7、Maven 和 Jensor Profiler
【发布时间】:2013-12-02 15:30:57
【问题描述】:

相关问题

(Unknown Source) in Exception stack trace

Unknown Source in Stacktrace Java Eclipse

我的情况

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

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

  • 我最近从 jdk 1.6 迁移到 jdk1.7.0_21(这似乎是问题的原因)。我尝试了三个 java 安装(jdk1.7.0_21、32 和 64 位以及 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 战争。

没有任何效果...

编辑 在类上使用javap -l 会显示 LineNumberTable:

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

问题很可能来自于 tomcat7 方面。

【问题讨论】:

  • 您可以尝试使用javap 检查编译的.class 文件。虽然不太可能,但有可能这些行存在,但 Tomcat 在加载它们时会做一些狡猾的事情。您还可以使用单个测试 java 文件和 POM 中的编译器选项创建一个全新的项目,以帮助您简化任务。
  • 运行 mvn -X compile 看看 maven 实际在做什么。运行 mvn help:effective-pom 以查看最终的 maven 配置。
  • @biziclop 好吧,奇怪的javap -l 显示了 LineNumberTable。我会在tomcat方面看看
  • 那一定是Tomcat中的一些VM优化标志或类似的。
  • 还没有。我在 tomcat 或 VM 方面没有发现任何有趣的东西。我应该去做一个简单的测试用例,但我还没有时间。但是我觉得问题出在tomcat上很奇怪。

标签: java maven tomcat tomcat7 stack-trace


【解决方案1】:

问题来自 JVM。

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

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

【讨论】:

    猜你喜欢
    • 2013-04-06
    • 2014-01-11
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    • 2013-04-07
    • 2015-07-14
    • 1970-01-01
    相关资源
    最近更新 更多