java - Why are classLoader magic values in defineClass() throwing an exception? -
i want write classloader can me implement customized classes , whole component @ run time. right i'm in process of loading class.
i'm trying load role.java file. when part of code:
myclass = super.defineclass(classname, classdata, 0, classdata.length); i exception:
exception in thread "main" java.lang.classformaterror: incompatible magic value 1885430635 in class file c:\users\arifah\downloads\compressed\euml2 free version\with classloader code\2\archetypedcomponentwithnull\src\ac\role/java
at java.lang.classloader.defineclass1(native method) @ java.lang.classloader.defineclasscond(unknown source) @ java.lang.classloader.defineclass(unknown source) @ java.lang.classloader.defineclass(unknown source) @ customcl.customclassloader.loadclass(customclassloader.java:116) @ java.lang.classloader.loadclass(unknown source) @ customcl.customclassloader.main(customclassloader.java:145) i've read posts saying "you need osgi". similar working on new scratch, i'd avoid.
why getting error?
you aren't loading real class file. magic value of valid class file 0xcafebabe, , magic in hex 0x7061636b.
notice if convert 0x7061636b ascii byte byte, turns out string "pack". means file think class file starts string "pack".
Comments
Post a Comment