Пакеты Pax-import-bundle и Spring DM
Я следую примерам из Модульной Java, но у меня проблемы с главой 6 и добавлением модулей Spring DM в мой проект.
Я бегу:
pax-import-bundle -g org.springframework.osgi -a spring-osgi-extender -v 1.2 - -DwidenScope -DimportTransitive
При запуске pax-provision пакеты Spring DM не разрешаются. Я получаю жалобы на отсутствующие импортированные пакеты из spring.osgi.extender и двух других неразрешенных пакетов. Мой список предоставленных пакетов выглядит следующим образом:
0 ACTIVE org.eclipse.osgi_3.5.0.v20090520 1 ACTIVE org.eclipse.osgi.util_3.2.0.v20090520-1800 2 ACTIVE org.eclipse.osgi.services_3.2.0.v20090520-1800 3 ACTIVE org.ops4j.pax.logging.pax-logging-api_1.3.0 4 ACTIVE org.ops4j.pax.logging.pax-logging-service_1.3.0 5 УСТАНОВЛЕННЫЙ org.springframework.osgi.extender_1.2.0 6 УСТАНОВЛЕННЫЙ org.springframework.osgi.core_1.2.0 7 УСТАНОВЛЕННЫЙ org.springframework.osgi.io_1.2.0 8 ACTIVE com.springsource.slf4j.org.apache.commons.logging_1.5.0 9 ACTIVE com.springsource.slf4j.api_1.5.0 Фрагменты =10 10 РАЗРЕШЕНО com.springsource.slf4j.log4j_1.5.0 Master=9 11 ACTIVE com.springsource.org.aopalliance_1.0.0 12 ACTIVE com.springsource.edu.emory.mathcs.backport_3.1.0 13 ACTIVE com.springsource.org.apache.log4j_1.2.15 14 ACTIVE com.springsource.javax.jms_1.1.0 15 ACTIVE com.springsource.javax.mail_1.4.0 16 ACTIVE com.springsource.javax.transaction_1.1.0 17 ACTIVE com.springsource.javax.activation_1.1.0
Diag 5
дает следующий вывод:
исходная @ ссылка: файл:../bundles/org.springframework.osgi.extender_1.2.0.jar/ [5] Прямые ограничения, которые не разрешены: отсутствует импортированный пакет org.springframework.beans_[2.5.6,4.0.0). Отсутствует импортированный пакет org.springframework.beans.factory_[2.5.6,4.0.0). Отсутствует импортированный пакет org.springframework.beans.factory.config_[2.5.6,4.0.0). Отсутствует импортированный пакет org.springframework.beans.factory.xml_[2.5.6,4.0.0). Отсутствует импортированный пакет org.springframework.context_[2.5.6,4.0.0). Отсутствует импортированный пакет org.springframework.context.event_[2.5.6,4.0.0). Отсутствует импортированный пакет org.springframework.core_[2.5.6,4.0.0). Отсутствует импортированный пакет org.springframework.core.enums_[2.5.6,4.0.0). Отсутствует импортированный пакет org.springframework.core.io_[2.5.6,4.0.0). Отсутствует импортированный пакет org.springframework.core.task_[2.5.6,4.0.0). Отсутствует импортированный пакет org.springframework.osgi_[1.2.0,1.2.0]. Отсутствует импортированный пакет org.springframework.osgi.context_[1.2.0,1.2.0]. Отсутствует импортированный пакет org.springframework.osgi.context.event_[1.2.0,1.2.0]. Отсутствует импортированный пакет org.springframework.osgi.context.support_[1.2.0,1.2.0]. Отсутствует импортированный пакет org.springframework.osgi.extensions.annotation_[1.2.0,1.2.0]. Отсутствует импортированный пакет org.springframework.osgi.service.importer_[1.2.0,1.2.0]. Отсутствует импортированный пакет org.springframework.osgi.service.importer.event_[1.2.0,1.2.0]. Отсутствует импортированный пакет org.springframework.osgi.service.importer.support_[1.2.0,1.2.0]. Отсутствует импортированный пакет org.springframework.osgi.util_[1.2.0,1.2.0]. Отсутствует импортированный пакет org.springframework.scheduling.timer_[2.5.6,4.0.0). Отсутствует импортированный пакет org.springframework.util_[2.5.6,4.0.0). ...
1 ответ
Решение
Проблема заключалась в комбинации отсутствующих репозиториев и неправильной версии артефакта (1.2.0 вместо 1.2).
pax-add-repository -i springsource-repository-release -u http://repository.springsource.com/maven/bundles/release pax-add-repository -i springsource-repository-external -u http://repository.springsource.com/maven/bundles/external pax-import-bundle -g org.springframework.osgi -a spring-osgi-extender -v 1.2 - -DwidenScope -DimportTransitive
Исправлена проблема.