Related questions
我的案例
我正在使用 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/