Olá pessoal!
Encontrei um problema muito estranho ao tentar debugar um projeto meu no Eclipse.
Tenho uma classe cujo [i]full qualified name/i é “br.com.autbank.antlr.parser.metrics.JavaTreeParser”. Em certo “momento” no meu projeto, eu tento criar uma instância desta classe. Quando eu mando o Eclipse dar um Run, o programa roda sem problema algum. Porém, quando tento dar um “Debug”, no momento em que eu tento instanciar a classe referida, olhem só o que o Eclipse me lança:
java.lang.InternalError: name is too long to represent
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at br.com.autbank.antlr.metrics.dependency.FileDependencyData.<init>(FileDependencyData.java:77)
at br.com.autbank.antlr.metrics.dependency.FileDependencyData.<init>(FileDependencyData.java:58)
at br.com.autbank.antlr.metrics.dependency.ComponentDependencyData.<init>(ComponentDependencyData.java:66)
at br.com.autbank.antlr.metrics.Metrics.run(Metrics.java:60)
at br.com.autbank.antlr.Main.metricsMain(Main.java:47)
at br.com.autbank.antlr.Main.main(Main.java:25)
Só para os senhores não se perderem, é na classe “br.com.autbank.antlr.metrics.dependency.FileDependencyData” que há um método que tenta instanciar um JavaTreeParser.
A julgar pela mensagem, o problema seria o tamanho do fqn da classe. De fato, ao reduzir o nome do pacote, não deu mais este problema.
O que eu quero saber é:
:arrow: Por que este problema só ocorre em modo Debug?
:arrow: Há algum meio de permitir fqns longos?
Obrigado pessoal!
