Добавление зависимости плагина к моему плагину разрушает существующую библиотеку, не являющуюся плагином (Google Data API)
Я пишу плагин Eclipse. Этот плагин использует несколько локальных jar-файлов и дополнительно имеет несколько зависимостей от других плагинов.
Я использую Google Code Search API из файлов 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 ответ
org.eclipse.zest.dot.ui
пакет связывает зависимости, которые зависят от коллекций Google, поэтому я предполагаю, что для API поиска кода Google требуется другая их версия, и теперь она пытается использовать другую версию. Не знаю, как решить эту проблему, но вы можете попробовать обновить обе версии до последней (см. http://wiki.eclipse.org/Zest для получения самой новой версии). org.eclipse.zest.dot.ui
расслоение).