Spring Framework скачать как пакеты OSGi

Я работаю над Spring для OSGi, он же Eclipse Gemini Blueprint.

Каждый найденный мной учебник или документация упоминает о добавлении нескольких пакетов, предоставляемых Spring, в мой OSGi-контейнер (например, org.springframework.aop.jar). Найти загрузку для текущей версии Spring было достаточно сложно, так как кажется, что она больше не указана непосредственно на их домашней странице (только ссылки maven и т. Д., И это не вариант для текущего проекта). Особенно в каждом уроке упоминается, что эти библиотеки также поставляются как пакеты OSGi.

Кроме того, Spring Framework предоставляет несколько пакетов, которые необходимо установить как зависимости. Начиная с версии 2.5 Spring Framework, jar-файлы Spring, включенные в дистрибутив Spring, являются действительными пакетами OSGi и могут быть установлены непосредственно на платформу OSGi.

Источник: http://www.eclipse.org/gemini/blueprint/documentation/reference/1.0.2.RELEASE/html/app-deploy.html

Но все загрузки, которые я смог найти (например, http://maven.springframework.org/release/org/springframework/spring/3.2.5.RELEASE/), содержали только обычные файлы jar, без пакетов OSGi. Прекращена ли практика предоставления OSGi-пакетов начиная с Spring 3.x? Как добавить необходимые Spring-зависимости в мой проект? Являются ли учебники / документация устаревшими?

Я использую последнюю версию Gemini, которая является 1.0.2.

4 ответа

Решение

Вы можете использовать Eclipse Maven Repository

<repositories>
<repository>
    <id>gemini-blueprint</id>
    <name>Gemini Blueprint</name>
    <url>https://repo.eclipse.org/content/groups/gemini-blueprint/</url>
</repository>
</repositories>

<dependencies>
<dependency>
    <groupId>org.eclipse.gemini.blueprint</groupId>
    <artifactId>gemini-blueprint-extender</artifactId>
    <version>2.0.0.BUILD-SNAPSHOT</version>
</dependency>
</dependencies>

Транзитивные зависимости Blueprint Extender будут содержать все необходимое для Spring.

Если вам нужны OSGi'ified Jars, я бы предложил использовать корпоративный пакет springsource, который можно найти по адресу: http://ebr.springsource.com/

Springsource ebr предлагает не только Spring-jar с поддержкой osgi, но и предоставляет множество сторонних библиотек osgi с файлом osgi-Manifest.MF.

Например, он содержит совместимый с OSGi Jar, который вы упомянули в своем сообщении: http://ebr.springsource.com/repository/app/bundle/version/detail?name=org.springframework.aop&version=3.2.5.RELEASE&searchType=bundlesBySymbolicName&searchQuery=org.springframework.aop

Я немного скептически отношусь к плану Близнецов. С тех пор, как VMware приобрела SpringSource, они, похоже, почти прекратили свои усилия в OSGi. К счастью, есть альтернативная реализация от Apache Aries, которая поддерживается IBM и некоторыми другими компаниями.

Вы также должны взглянуть на Apache Karaf. Он поставляется с предварительно установленным планом и позволяет легко добавлять множество других фреймворков. Я сделал несколько обучающих программ, которые показывают, как использовать проект с несколькими технологиями, такими как CXF, Camel, JPA.

Если вас интересует простое внедрение зависимостей в среду OSGi, я бы предложил также рассмотреть декларативные сервисы OSGi, такие как реализация Felix, особенно в сочетании с Bndtools, или, если вы используете PDE, процессор аннотаций DS, который делает его очень простым для выполнить внедрение зависимостей с помощью аннотаций. В целом, я считаю, что эти решения намного легче и проще в работе, чем Spring/Gemini/Blueprint.

Другие вопросы по тегам