Java (未知源)使用Tomcat7、Maven和Jensor Profiler在StackTrace中
相关问题 我的案例 我正在使用maven 3.1.0编译一个项目。然后它部署在我的stacktrace上的Tomcat7上,我得到(未知源代码)而不是(myclass.java:14)。它发生在我的类中,但在其他库中正常工作 从相关主题中,我了解到这是由于类文件中缺少行号造成的。这可能是由于使用了jre或配置错误造成的。以下是我尝试过的一些步骤:Java (未知源)使用Tomcat7、Maven和Jensor Profiler在StackTrace中,java,maven,tomcat,tomcat7,stack-trace,Java,Maven,Tomcat,Tomcat7,Stack Trace,相关问题 我的案例 我正在使用maven 3.1.0编译一个项目。然后它部署在我的stacktrace上的Tomcat7上,我得到(未知源代码)而不是(myclass.java:14)。它发生在我的类中,但在其他库中正常工作 从相关主题中,我了解到这是由于类文件中缺少行号造成的。这可能是由于使用了jre或配置错误造成的。以下是我尝试过的一些步骤: 我最近从jdk1.6迁移到jdk1.7.0_21(这似乎是问题的原因)。我尝试了三种java安装(jdk1.7.0_21、32和64位以及jdk
- 我最近从jdk1.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>
问题很可能来自tomcat7方面。问题来自JVM 我使用Jensor分析我的应用程序。它使用方面和javaagent来收集数据
通过从java选项中删除
解决了这个问题 您可以尝试使用-javaagent:…
检查编译的javap
文件。虽然不太可能,但也有可能行在那里,但Tomcat在加载它们时做了一些改变。您还可以使用单个测试java文件和POM中的编译器选项创建一个全新的项目,以帮助您简化任务。运行.class
查看maven的最终配置。@biziclop Ok奇怪的mvn帮助:effective pom
显示行号表。我将在tomcat侧边查看它一定是tomcat中的一些VM优化标志或类似标志。还没有。我在tomcat或VM方面没有发现任何有趣的东西。我应该去做一个简单的测试用例,但我还没有时间。但我觉得奇怪的是问题来自tomcat。javap-l
public void init(); LineNumberTable: line 31: 0 line 32: 10 line 33: 21 ...