[ https://issues.apache.org/jira/browse/OPENJPA-2283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13786193#comment-13786193 ]
Romain Manni-Bucau edited comment on OPENJPA-2283 at 10/4/13 2:36 PM: ---------------------------------------------------------------------- Can't it be fixed with: {code} static { // try the "real" asm first, then the others tryClass("org.objectweb.asm."); tryClass("org.apache.xbean.asm4."); tryClass("org.apache.xbean.asm."); tryClass("org.springframework.asm."); // get needed stuff try { COMPUTE_FRAMES = cwClass.getField("COMPUTE_FRAMES").getInt(null); classReaderAccept = crClass.getMethod("accept", findClassVisitor(), int.class); classReaderConstructor = crClass.getConstructor(InputStream.class); classWriterConstructor = cwClass.getConstructor(int.class); classWritertoByteArray = cwClass.getMethod("toByteArray"); } catch (Exception e) { throw new IllegalStateException(_loc.get("static-asm-exception").getMessage(), e); } } private static Class<?> findClassVisitor() throws ClassNotFoundException { final String cwName = cwClass.getName(); return cwClass.getClassLoader().loadClass(cwName.substring(0, cwName.length() - "ClassWriter".length()) + "ClassVisitor"); } {code} was (Author: romain.manni-bucau): Can't it be fixed with: static { // try the "real" asm first, then the others tryClass("org.objectweb.asm."); tryClass("org.apache.xbean.asm4."); tryClass("org.apache.xbean.asm."); tryClass("org.springframework.asm."); // get needed stuff try { COMPUTE_FRAMES = cwClass.getField("COMPUTE_FRAMES").getInt(null); classReaderAccept = crClass.getMethod("accept", findClassVisitor(), int.class); classReaderConstructor = crClass.getConstructor(InputStream.class); classWriterConstructor = cwClass.getConstructor(int.class); classWritertoByteArray = cwClass.getMethod("toByteArray"); } catch (Exception e) { throw new IllegalStateException(_loc.get("static-asm-exception").getMessage(), e); } } private static Class<?> findClassVisitor() throws ClassNotFoundException { final String cwName = cwClass.getName(); return cwClass.getClassLoader().loadClass(cwName.substring(0, cwName.length() - "ClassWriter".length()) + "ClassVisitor"); } > Upgrade to ASM 4 dependency > --------------------------- > > Key: OPENJPA-2283 > URL: https://issues.apache.org/jira/browse/OPENJPA-2283 > Project: OpenJPA > Issue Type: New Feature > Components: Enhance > Affects Versions: 2.3.0 > Reporter: Kevin Sutter > Fix For: 2.3.0 > > > OpenJPA currently has a dependency on ASM 3.2 for some post-enhancement > processing to fix up the stack map tables (Java 7 requirement). The latest > release of ASM is 4.1, which just came out last week. The immediate need is > to move up to ASM 4.0. We can entertain 4.1 at a later date. -- This message was sent by Atlassian JIRA (v6.1#6144)