Почему вы должны определить зависимости дважды в Eclipse RCP? - PullRequest
1 голос
/ 17 февраля 2010

У меня есть проект подключаемого модуля Eclipse RCP, который называется proj.a.

У меня есть еще один проект плагина Eclipse RCP, proj.b, в котором есть файл определения продукта. Этот проект зависит от подключаемого модуля proj.a.

Когда я меняю proj.a, скажем, для включения тестов JUnit, зависимость от JUnit автоматически добавляется в путь сборки proj.a.

Но когда я запускаю продукт, который я определил в proj.b, я должен вручную добавить зависимость к определению продукта в proj.b.

Почему это? Не можете затмить понять, что продукт зависит от JUnit? Или это проблемная область Бакминстера, Мэйвена и тому подобного?

Ответы [ 3 ]

1 голос
/ 26 февраля 2010

Файл продукта содержит весь граф зависимостей. Если вы добавляете зависимость к Junit в plugin.a, вы говорите, что plugin.a не может быть запущен без JUnit. И файл продукта перечисляет все плагины, которые определены в других плагинах как зависимости. Поэтому мне интересно, почему вы добавляете Junit в качестве зависимости для вашего плагина. Рекомендуется создать отдельный плагин со всеми вашими тестовыми примерами, который ссылается на plugin.a и Junit. И этот недавно созданный плагин не указан в файле вашего продукта (кому нужна поставка JUnit и Testcases с окончательной сборкой?) Кроме того, нет необходимости добавлять зависимости вручную. В вашем редакторе продуктов есть кнопка «Добавить необходимые плагины», которая выполняет эту работу за вас.

1 голос
/ 18 февраля 2010

Я не уверен, что это поможет, но вам нужно переэкспортировать зависимость, если вы хотите, чтобы другие плагины внизу по потоку увидели плагин зависимостей А.Это можно сделать на вкладке «Зависимости» в редакторе PDE (кнопка «Свойства»)

0 голосов
/ 10 августа 2011

Вам не нужно вручную добавлять зависимости; есть кнопка «Добавить необходимые плагины».

...