Re[12]: Есть ли возможность перезагрузить класс
От: Blazkowicz Россия  
Дата: 25.01.08 09:52
Оценка: 1 (1)
Здравствуйте, fenix13, Вы писали:

F>Появилась еще одна интересная задачя . Если есть идеи то подскажы . Сейчас обрисую :

F>Мне нужно перегрузить метод classloader . А именно чтобы с самого начала работы программы — она лезла в мой класслоадер а не в системный . Возможно ли такое сделать? Мне это нужно для того чтобы контролировать какую именно версию класса мне нужно загружать в момент работы программы .
F>Если есть вопросы или предложения , давай подискусируем .

Да, проще простого. Все твои классы нужно сделать недоступным для класслоадера который обычно их загружеает. Затем в коде создать экземпляр своего класслоадера, научить его искать твои классы, и далее все обращения вести через него. Там уже надо смотреть по ситуации и окружению. Thread.setContextClassloader(), либо просто загрузить класс своим класслоадером, а этот класс уже будет подтягивать зависимости только через этот же класслоадер. В общем штудируй API к классам ClassLoader/URLClassLoader, смотри исходный код этих классов и все у тебя получится.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.