Я разрабатываю приложение Eclipse и сейчас хочу перейти на Eclipse 4.4. В настройках моего приложения я использую BIRT (последний выпуск 4.4.0), который поставляется с Apache Плагины для батика:
- org.apache.batik.bridge_1.6.0.v201011041432.jar
- org.apache.batik.css_1.6.0.v201011041432.jar
- org.apache.batik.css_1.7.0.v201011041433.jar
- org.apache.batik.dom.svg_1.6.0.v201011041432.jar
- org.apache.batik.dom_1.6.0.v201011041432.jar
- org.apache.batik.ext.awt_1.6.0.v201011041432.jar
- org.apache.batik.parser_1.6.0.v201011041432.jar
- org.apache.batik.pdf_1.6.0.v201105071520.jar
- org.apache.batik.svggen_1.6.0.v201011041432.jar
- org.apache.batik.transcoder_1.6.0.v201011041432.jar
- org.apache.batik.util.gui_1.6.0.v201011041432.jar
- org.apache.batik.util.gui_1.7.0.v200903091627.jar
- org.apache.batik.util_1.6.0.v201011041432.jar
- org.apache.batik.util_1.7.0.v201011041433.jar
- org.apache.batik.xml_1.6.0.v201011041432.jar
Кроме того, я использую GMF (последний выпуск 1.8.1), который поставляется со всеми наборами батика в версии 1.6.
Я ставлю все на свою целевую платформу, но, тем не менее, у меня возникают проблемы с версиями батика, если я хочу проверить свой продукт. Eclipse, кажется, зависит от версий 1.7 (т.е. пакета org.eclipse.e4.ui.css.core). Но GMF требует версии 1.6. И как только включен org.apache.batik.pdf, который существует только в версии 1.6, возникает проблема, заключающаяся в том, что он импортирует все остальные пакеты батика в их версии 1.6.
Я думал, что можно запустить его с несколькими активными версиями рядом друг с другом, так как батик не является синглтоном. Но если я проверяю продукт в Eclipse, я получаю сообщения об отсутствии той или иной версии.
Пробовал несколько комбинаций:
Только пакеты 1.7
Если я включу в свою целевую платформу все пакеты 1.7, а не пакеты 1.6, GMF жалуется на отсутствие пакетов 1.6.
Только пакеты 1.6
Если я включу только пакеты 1.6, а не пакеты 1.7, инфраструктура eclipse (комплект org.eclipse.e4.ui.css.core) жалуется на отсутствие пакетов 1.7.
Пакеты 1.6 и 1.7
Если я включу обе версии в целевую платформу, она, похоже, возьмет самые новые. Затем я получаю жалобы от org.apache.batik.pdf (который есть только как 1.6) о том, что отсутствуют версии 1.6 других пакетов, и то же самое снова из пакета GMF.
О запуске продукта:
Я нашел следующие сообщения на форуме:
http://www.eclipse.org/forums/index.php/t/207375/
http://www.eclipse.org/forums/index.php/t/787032/
По сути, они предлагают отредактировать конфигурацию запуска продукта и включить туда все пакеты (обе версии 1.6 и 1.7).
После некоторых попыток это действительно сработало для меня, однако мой вопрос все еще остается:
Пакеты не могут быть включены и сосуществовать в нескольких версиях? Почему продукт загружает только более позднюю версию, если требуется и более ранняя версия? Или все дело в ошибке в инструменте проверки Eclipse IDE? Или я что-то совсем другое упускаю?