Вопрос об отражении Java

Я работаю над проектом, который использует отражение для получения полей работающего java-приложения.

Мне удалось получить поля, но я не могу их читать или писать. Это пример, который я нашел в сети:

Class aClass = MyObject.class
Field field = aClass.getField("someField");
MyObject objectInstance = new MyObject();
Object value = field.get(objectInstance);
field.set(objetInstance, value);

Проблема в том, что я использую классы из работающего jar-файла, а классы, которыми я пытаюсь управлять, получаются из classLoader. Поэтому вместо MyObject.class у меня просто .class. Чтобы получить MyObject, я попытался использовать ClassLoader, но это не сработало.

Если я просто использую .class:

Object value = field.get(theLoadedClass);

, я получу эту ошибку:

java.lang.IllegalArgumentException: Can not set int field myClass.field to java.lang.Class

Спасибо.

8
задан Bohemian 12 July 2011 в 07:16
поделиться