Я пытаюсь добиться этого, используя разные ClassLoaders для работы безуспешно, и я немного отчаялся. Я пытаюсь запустить 2 разных экземпляра сторонней программы, которая была создана с несколькими статическими атрибутами и поэтому не может быть просто дважды создана в моем коде. Мне посоветовали использовать разные ClassLoaders для загрузки файла .jar, хотя я действительно не знаю, как это сделать. Могу ли я получить некоторые подсказки о том, где я мог бы начать?
Мне также нужно передать объект моей собственной программы этому экземпляру программы, и я также не знаю, как я мог это сделать ...
Заранее спасибо за помощь,
Andre
PS: Вся эта дискуссия началась на java форумах , так что есть более подробное описание того, что мне нужно сделать и зачем мне это делать. Совет, на который я ссылаюсь в этом посте, был от malcommmc:
Другим подходом может быть запуск
вся система в одной JVM, но создать
новый загрузчик классов для каждого экземпляра
сторонний код и убедитесь, что
классы, содержащие нарушителя
статика загружаются только этими новыми
грузчики класса. В этих условиях
JVM может поддерживать несколько копий
тот же класс, при условии, что FQN
уникальный в загрузчике классов.
В этом случае каждый экземпляр запускается как
отдельный поток и установить поток
загрузчик класса контекста, чтобы указать на
загрузчик соответствующего класса.
Предположительно объект, которым вы являетесь
предложение пройти указано с
какой-то интерфейс или абстрактный класс известен
в стороннее приложение. Тебе это нужно
интерфейс должен быть известен системе
загрузчик классов, т.е. на пути к классам,
но основные классы 3-го
приложение участника не должно быть на
classpath, но доступ к нему как кувшин
на который ссылается URLClassLoader.