У меня есть ситуация, когда я должен загрузить именованный класс. Если в моем пути к классам есть несколько классов с одинаковым именем (скажем, com.example.myclass
), я должен загрузить оба. Я использую метод loadClass () моего класса CustomLoader, который наследуется от java.lang.ClassLoader
. Я не изменил поведение родительского класса, а просто вызываю родительские методы. Моя проблема в том, что если есть два класса с одинаковыми именами, я могу загрузить только один из них. Я просканировал сеть для решения, но не нашел. Я нашел много решений по перезагрузке классов путем создания нового экземпляра загрузчика классов, но в моем случае новый экземпляр, вероятно, в конечном итоге снова загрузит первый класс. Можно ли решить эту проблему?
РЕДАКТИРОВАТЬ: я забыл упомянуть, что два класса с одинаковым именем находятся в разных файлах JAR.
РЕДАКТИРОВАТЬ: Джон и Стивен дали одно и то же решение, но я могу отметить только один как ответ. Извините :(. Я проголосовал за оба ответа.