سؤال

Related questions

(Unknown Source) in Exception stack trace

Unknown Source in Stacktrace Java Eclipse

My case

I'm compiling a project using maven 3.1.0. Then it is deployed on Tomcat 7 On my stacktrace, I get (Unknown Source) instead of (myclass.java:14). It happens with my classes but works normally with others libraries.

From the related topics, I learn that it is due to missing line number in the class files. It may be due because the use of a jre or a wrong configuration. Here is some step I have tried:

  • I recently moved from jdk 1.6 to jdk1.7.0_21 (which looks to be the cause of the problem). I tried with three java installations (jdk1.7.0_21, 32 & 64bits and jdk1.7.0_45). JAVA_HOME is pointing to the right folder.
  • I see that we can add debug and debuglevel option to javac. I tried to add them to maven with the following configuration. I also force to use javac instead of 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>
    
  • Erase target file and tomcat war.

Nothing works...

EDIT Using javap -l on the class shows the LineNumberTable:

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

The problem comes most likely from the tomcat7 side.

هل كانت مفيدة؟

المحلول

The problem was coming from the JVM.

I use Jensor for profiling my application. It uses Aspect and a javaagent in order to collect data.

By removing the -javaagent:... from the java options solved the problem.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top