java - (未知来源)在 StackTrace 中与 Tomcat7、Maven 和 Jensor Profiler

标签 java maven tomcat tomcat7 stack-trace

Related questions

(Unknown Source) in Exception stack trace

Unknown Source in Stacktrace Java Eclipse

我的案例

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

从相关主题中,我了解到这是由于类文件中缺少行号造成的。可能是因为使用了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 war。

没有任何作用...

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

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

问题很可能来自 tomcat7 端。

最佳答案

问题出在 JVM 上。

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

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

关于java - (未知来源)在 StackTrace 中与 Tomcat7、Maven 和 Jensor Profiler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20331892/

相关文章:

java - 如何执行对象的 Java 深度复制?

java - 使用maven创建可执行jar

java - 运行 linux 命令时 Tomcat 问题

java - java中按长度分割字符串

java - 枚举实现接口(interface)被 validator 拒绝 (java.lang.VerifyError)

java - 导入javax.sound无法解析

java - 使用 Maven 分发 akka 微内核应用程序

maven - 防止 Jenkins 构建(从而重新部署)已发布版本的 Maven 项目

java - 如何安装三叶草etl服务器[Apache Tomcat]

tomcat - testacular e2e 测试和 Angular 的跨站点脚本问题