Мне интересно, как я могу прочитать версию файла jar-файла пакета OSGI с Java до его развертывания? Есть ли способ извлечь эти данные перед его развертыванием?Прочтите версию пакета OSGI
0
A
ответ
5
Вы можете сделать это с помощью стандартного Java:
JarFile jarFile = new JarFile("myjar.jar");
Manifest manifest = jarFile.getManifest();
Attributes mainAttributes = manifest.getMainAttributes();
String bundleVersion = (String) mainAttributes.get(Constants.BUNDLE_VERSION);
Константы класса происходит от org.osgi.framework пакета.
0
Если вы просто хотите получить версию, она может быть полностью переполнена, но в целом действительно хороший способ прочитать все виды данных пакета - использовать bnd. Многие инструменты построены поверх bnd, но их легко использовать в качестве библиотеки.
Смежные вопросы
- 1. OSGi - Можно ли переопределить версию пакета пакета, используя фрагмент?
- 2. Какова структура пакета пакета OSGi?
- 3. Как удалить старую версию пакета OSGI после установки новой версии?
- 4. Как провести тестирование пакета OSGi из другого пакета OSGi
- 5. Структура упаковки пакета OSGi
- 6. Программный запуск пакета OSGi
- 7. Запуск пакета OSGi
- 8. Как получить версию для OSGi-компонента изнутри?
- 9. Прочтите CSV-файл из пакета
- 10. Как найти зависимость пакета от пакета OSGi
- 11. Вызов внешнего пакета OSGI из пакета EAR
- 12. от Maven2 до пакета OSGI
- 13. Нерешенный импорт пакета в OSGi
- 14. странное поведение пакета osgi eclipse
- 15. Относительный путь из пакета OSGi
- 16. Как работает обновление пакета OSGi?
- 17. Звонок из пакета OSGI Datasource
- 18. Поддержание состояния пакета OSGi вручную
- 19. Обновление пакета OSGi при запуске
- 20. Импорт пакета OSGI в eclipse
- 21. Создайте Javadoc для пакета OSGi
- 22. Какова связь между версией пакета и пакета в OSGi
- 23. Определить версию определенного пакета
- 24. Удалить версию пакета python
- 25. Невозможно найти версию "" пакета ""
- 26. Прочтите версию ядра Linux, используя C?
- 27. JavaEE и OSGI: Как получить BeanManager для определенного пакета osgi
- 28. Как создать исполняемую версию моего проекта OSGi?
- 29. Как добавить импортные пакеты из определенной версии пакета в OSGi
- 30. Как получить папку из пакета OSGI?
Есть ли другой способ? –
Каким другим способом вы думаете? Нет стандартной библиотеки, которая анализирует JAR-файл. Вы можете напрямую вызвать функции Felix или Equinox, но я думаю, что они находятся во внутренних пакетах, поэтому вы не можете быть уверены, что одни и те же функции будут существовать в новой версии. Вы также можете запустить встроенный контейнер OSGi, развернуть там файл jar и использовать контейнер для анализа JAR, но я думаю, что это было бы безумным :). Существует библиотека, называемая org.apache.felix.utils, для выражения выражения where [] (например, значение заголовка Import-Package или Bundle-SymbolicName). –