Как обрабатывать пакеты, предоставляемые Java, используя Eclipse P2 - PullRequest
1 голос
/ 26 февраля 2010

Я получил несколько пакетов OSGi в двоичном виде, которые объявляют зависимости от пакетов, таких как "org.ietf.jgss", которые предоставляются самой Java.P2 обнаруживает эти зависимости, и когда я пытаюсь установить продукт позже с помощью приложения-директора P2, установка завершается неудачно, поскольку ни один пакет не предоставляет эти пакеты.Но если я использую сборку продукта P2, я получаю полный установленный продукт, который я могу использовать.

Моя проблема в том, что я не хочу создавать файлы продукта и собирать их для каждого варианта приложения.Поэтому попытался скопировать все репозитории P2, чтобы установить продукт в целевой системе с помощью директора P2.

Итак, как мне обрабатывать зависимости от пакетов, предоставляемых Java, и как «убедить» P2 вигнорируйте эти пакеты, если они предоставляются самой Java.

Спасибо за помощь.

1 Ответ

1 голос
/ 19 апреля 2010

Пакеты, предоставляемые Java, или, скорее, «среда выполнения», как OSGi называет это, по определению находятся в пакете, начинающемся с java. * И не требуют явных операторов импорта.

Если ваша виртуальная машина предоставляет дополнительные пакеты, которые не запускаются с java. * Вы можете сделать их доступными через системный пакет (таким образом, инфраструктура сделает их доступными и разрешить явный импорт этих пакетов), или использовать делегирование загрузки (что означает, что эти пакеты будут волшебным образом доступны, даже если они явно не импортированы).

Я немного смущен твоим первым предложением. Если пакет объявляет зависимость от другого пакета, как этот пакет может быть предоставлен самой Java, поскольку JVM не предоставляет никаких пакетов?

...