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