Есть ли какой-нибудь инструмент или какой-то лучший вывод из javac
, чтобы выяснить, какой файл класса имеет поврежденный пул констант .. поскольку я не могу скомпилировать некоторые существующие файлы Java из-за того, что какой-то предварительно скомпилированный файл имеет поврежденную константупул ..
Вот как выглядит распечатка с поврежденным стеком пулов
An exception has occurred in the compiler (1.6.0_26). Please file a bug at the J
ava Developer Connection (http://java.sun.com/webapps/bugreport) after checking
the Bug Parade for duplicates. Include your program and the following diagnosti
c in your report. Thank you.
java.lang.ArrayIndexOutOfBoundsException: 8047705
at com.sun.tools.javac.jvm.ClassReader.nextInt(ClassReader.java:277)
at com.sun.tools.javac.jvm.ClassReader.skipMember(ClassReader.java:1504)
at com.sun.tools.javac.jvm.ClassReader.readClass(ClassReader.java:1559)
at com.sun.tools.javac.jvm.ClassReader.readClassFile(ClassReader.java:16
58)
at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:1845)
at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1777)
at com.sun.tools.javac.code.Symbol.complete(Symbol.java:386)
at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:763)
at com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:1951)
at com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:842)
at com.sun.tools.javac.comp.Resolve.findIdentInPackage(Resolve.java:1011
)
at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:1921)
at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:1835)
at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1522
)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
at com.sun.tools.javac.comp.Attr.attribType(Attr.java:390)
at com.sun.tools.javac.comp.MemberEnter.attribImportType(MemberEnter.jav
a:681)
at com.sun.tools.javac.comp.MemberEnter.visitImport(MemberEnter.java:545
)
at com.sun.tools.javac.tree.JCTree$JCImport.accept(JCTree.java:495)
at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:387
)
at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:399
)
at com.sun.tools.javac.comp.MemberEnter.visitTopLevel(MemberEnter.java:5
12)
at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:
446)
at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:387
)
at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:819)
at com.sun.tools.javac.code.Symbol.complete(Symbol.java:386)
at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:763)
at com.sun.tools.javac.comp.Enter.complete(Enter.java:464)
at com.sun.tools.javac.main.JavaCompiler.complete(JavaCompiler.java:659)
at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:1869)
at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1777)
at com.sun.tools.javac.code.Symbol.complete(Symbol.java:386)
at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:763)
at com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:1951)
at com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:842)
at com.sun.tools.javac.comp.Resolve.findGlobalType(Resolve.java:901)
at com.sun.tools.javac.comp.Resolve.findType(Resolve.java:957)
at com.sun.tools.javac.comp.Resolve.findIdent(Resolve.java:986)
at com.sun.tools.javac.comp.Resolve.resolveIdent(Resolve.java:1162)
at com.sun.tools.javac.comp.Attr.visitIdent(Attr.java:1714)
at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:1547)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
at com.sun.tools.javac.comp.Attr.attribType(Attr.java:390)
at com.sun.tools.javac.comp.MemberEnter.signature(MemberEnter.java:355)
at com.sun.tools.javac.comp.MemberEnter.visitMethodDef(MemberEnter.java:
560)
at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:639)
at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:387
)
at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:399
)
at com.sun.tools.javac.comp.MemberEnter.finishClass(MemberEnter.java:410
)
at com.sun.tools.javac.comp.MemberEnter.finish(MemberEnter.java:1000)
at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:967)
at com.sun.tools.javac.code.Symbol.complete(Symbol.java:386)
at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:763)
at com.sun.tools.javac.comp.Enter.complete(Enter.java:464)
at com.sun.tools.javac.comp.Enter.main(Enter.java:442)
at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:81
9)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:727)
at com.sun.tools.javac.main.Main.compile(Main.java:353)
at com.sun.tools.javac.main.Main.compile(Main.java:279)
at com.sun.tools.javac.main.Main.compile(Main.java:270)
at com.sun.tools.javac.Main.compile(Main.java:69)
at com.sun.tools.javac.Main.main(Main.java:54)