Добавление зависимости плагина к моему плагину нарушает существующую библиотеку, не являющуюся плагином (Google Data API) - PullRequest
1 голос
/ 04 марта 2011

Я пишу плагин Eclipse. Этот плагин использует несколько локальных jar-файлов и дополнительно имеет несколько зависимостей от других плагинов.

Я использую API поиска кода Google из jar-файлов, и он отлично работает; но после добавления зависимости плагина org.eclipse.zest.dot.ui в мой проект API поиска кода Google больше не работает - при вызове new CodeSearchService("my_ID") я получаю следующую ошибку времени выполнения:

Анализ не выполнен: исключение java.lang.NoSuchMethodError.

com.google.common.collect.ImmutableSet.buider () Lcom / Google / общие / собирать / ImmutableSet $ ​​Builder;

Я тщательно проверил и воспроизвел это: если плагин появляется в списке зависимостей, CodeSearchService больше не может использоваться; если это не так, это работает отлично. Фактический код проекта не изменяется, добавляется только зависимость.

Это очень странно для меня, поскольку я не понимаю, как добавление зависимости от плагина может внезапно привести к исчезновению некоторых методов. Кто-нибудь сталкивался с чем-либо подобным и может поделиться какой-либо информацией об этой проблеме и возможном решении? Я даже не уверен, является ли эта проблема специфической для этих двух библиотек.

1 Ответ

1 голос
/ 19 июня 2011

Пакет org.eclipse.zest.dot.ui включает зависимости, которые зависят от коллекций Google, поэтому я предполагаю, что API поиска кода Google требуется другая их версия, и теперь пытается использовать другую версию. Не знаете, как решить эту проблему, но вы можете попробовать обновить обе версии до последней версии (см. http://wiki.eclipse.org/Zest#Zest_2.x для получения новейшего пакета org.eclipse.zest.dot.ui).

...