2015-12-02 9 views
0

Для моего приложения RCP я создал две цели, которые указывают на сайт p2 в каталоге репозитория целевого проекта, так что пользователи могут использовать целевой когда он не подключен к Интернету. Репозиторий p2 - это зеркало, созданное с помощью скрипта ant, и я убедился, что он имеет необходимые версии функций и плагинов, которые пытается загрузить цель.Eclipse RCP Target не может добавить функцию, потому что файл jar не найден в пуле пулов

Он работает правильно для каждой функции, кроме одной (com.vectrace.MercurialEclipse, которая была зеркально отражена от локального сайта обновления p2, который я создал, экспортируя функцию MercuriualEcliopse). Я загружаю эту функцию в моей целевой файл как так

<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="false" type="InstallableUnit">

<unit id="com.vectrace.MercurialEclipse.feature.feature.group" version="2015"/> <unit id="com.google.gson.source" version="2.1.0.201304290948"/>

<repository location="file:///path/to/repository"/>

</location>

В целевой редактор интерфейса, я получаю эту ошибку:

File does not exist:

<workspace path>/.metadata.plugins/org.eclipse.pde.core/.bundle_pool/com.vectrace.MercurialEclipse_2.1.0.201304290948.jar

Я не понимаю, почему не-существование файла в пул пакетов не позволяет мне добавить функцию к моей цели. Функция кажется правильно определенной на сайте p2, и я думаю, что это просто какая-то затмение затмения в том, что она висит на старых ссылках или что-то в этом роде. Но часы вариаций «таяния затмения», которые обычно устраняют такие проблемы, не смогли решить проблему.

Я попытался воссоздать репозиторий MercurialEclipse, повторно зеркалировать локальный автономный репозиторий, повторно запускать с -clean и многое другое. Может ли кто-нибудь помочь мне понять, о чем жалуется eclipse этим сообщением?

ответ

0

Eclipse заявляет, что хочет этот файл jar в каталоге bundle_pool, поэтому я скопировал его там вручную. Это сделало целевую нагрузку правильно, но я хотел бы знать, почему я должен был это сделать. Похоже на ошибку или сбой, поскольку файл jar следует добавить в пул связок в результате добавления функции к цели, а не как предварительное условие. Но все обычные вращения не заставили бы eclipse перестать настаивать на том, что файл jar должен быть уже в каталоге bundle_pool.