Java: разделение версий JAR - PullRequest
0 голосов
/ 13 марта 2010

Я разрабатываю плагин Java для существующей программы Java. Существующая программа использует определенную версию eclipse.uml2. * И мой плагин тоже. К сожалению, мне нужна более новая версия для моего плагина.

Чтобы запустить плагин, мне нужно экспортировать его в файл Jar (со всеми упакованными банками). Затем программа выполняет его. Но каким-то образом новый eclipse.uml2. *, Кажется, мешает программе -> он падает.

Есть ли способ "разделить" обе версии файлов jar?

Ответы [ 3 ]

1 голос
/ 13 марта 2010

Подход будет заключаться в использовании пользовательского загрузчика классов в вашем приложении. Это может очень легко привести к ошибкам, которые трудно отследить, поэтому будьте осторожны.

http://www.devx.com/Java/Article/31614/1954

1 голос
/ 13 марта 2010

Это именно та проблема, которую OSGi пытается решить. Будет ли возможно переработать приложение Java на другую платформу плагинов?

0 голосов
/ 13 марта 2010

Это будет сложно. Можно попытаться использовать приемы загрузчика классов, чтобы обе версии классов eclipse.uml.* могли быть загружены в одну и ту же JVM. Но с точки зрения JVM это будут разные наборы классов, и ваш плагин и базовое Java-приложение не смогут обмениваться экземплярами.

Вероятно, проще (и менее рискованно ... с точки зрения вероятности успеха) пересобрать (и при необходимости изменить) либо базовую программу, либо ваш плагин, чтобы они оба работали с одной и той же версией eclipse.uml2.* классы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...