Arash Bijanzadeh [http://community.jboss.org/people/armita] created the discussion
"Class loader issue in javassist" To view the discussion, visit: http://community.jboss.org/message/619450#619450 -------------------------------------------------------------- I am trying to get a hold on javassist for one of our companies projects. I wrote this simple class for testing public class Main { public void test(){ ClassPool cp = ClassPool.getDefault(); CtClass entity = cp.makeClass("Entity"); try { entity.addField(CtField.make(" public Integer id;",entity)); entity.addField(CtField.make(" public String name;", entity)); entity.addMethod(CtNewMethod.make("public void say() { System.out.println(12222);}",entity)); Class EntityClass = entity.toClass(); entity.writeFile("/tmp"); Object e= EntityClass.newInstance(); Field name = EntityClass.getField("name"); name.set("Ooldooz", e); System.out.println(name.get(e)); } catch (CannotCompileException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } catch (InstantiationException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } catch (IllegalAccessException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } catch (NoSuchFieldException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } catch (IOException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } } public static void main(String[] args){ Main main = new Main(); main.test(); } } Trying to run, I get this error: > > Exception in thread "main" java.lang.IllegalArgumentException: Can not set > java.lang.String field Entity.name to java.lang.String > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:146) > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:150) > at > sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:37) > at > sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:57) > at java.lang.reflect.Field.set(Field.java:657) > at Main.test(Main.java:26) > Can anybody help me out please? -------------------------------------------------------------- Reply to this message by going to Community [http://community.jboss.org/message/619450#619450] Start a new discussion in Javassist at Community [http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2062]
_______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user