2011-02-02 2 views
3

Запись манифеста OSGi «bundleRequiredExecutionEnvironment» может использоваться для указания JRE, на котором может использоваться данный пакет, но похоже, что это строгая проверка, так что если я укажу значение «J2SE-1.5», пакет не может быть использован на 1.6 или выше. Это кажется странным; мое предположение состояло в том, что это будет только базовый, а не точный матч.Как определить минимальное требование JRE (1.5 _или выше_)?

Но если семантика свойства является точным совпадением, каково было бы указать «1,5 или выше»? Или это может быть ошибкой контейнера OSGi в вопросе неправильного толкования?

ответ

2

Похоже, вы должны указать все действующие среды JRE.

Bundle-RequiredExecutionEnvironment: J2SE-1.5, JavaSE-1.6 

Когда Java 1.7 станет доступным, вам также придется добавить это.

+0

Это имеет смысл. Я посмотрю, смогу ли я найти веб-страницу, чтобы подтвердить это (возможность определять несколько вариантов) – StaxMan

+0

Ок: да, раздел 4.5 подтверждает, что для этого свойства допускаются несколько значений, и это поведение соответствует тому, что среда доступна , Наверное, сейчас я добавлю JavaSE-1.6, а JavaSE-1.7 один раз – StaxMan