1

我正在关注Modular 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 活动 org.eclipse.osgi_3.5.0.v20090520
1 活动 org.eclipse.osgi.util_3.2.0.v20090520-1800
2 活动 org.eclipse.osgi.services_3.2.0.v20090520-1800
3 活动 org.ops4j.pax.logging.pax-logging-api_1.3.0
4 活动 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 活动 com.springsource.slf4j.org.apache.commons.logging_1.5.0
9 活动 com.springsource.slf4j.api_1.5.0
                片段=10
10 解决 com.springsource.slf4j.log4j_1.5.0
                大师=9
11 活跃的 com.springsource.org.aopalliance_1.0.0
12 活跃的 com.springsource.edu.emory.mathcs.backport_3.1.0
13 活动 com.springsource.org.apache.log4j_1.2.15
14 活动 com.springsource.javax.jms_1.1.0
15 活动 com.springsource.javax.mail_1.4.0
16 活动 com.springsource.javax.transaction_1.1.0
17 活动 com.springsource.javax.activation_1.1.0
诊断 5

给出以下输出:

initial@reference:file:../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)。
    ...

4

1 回答 1

2

问题是缺少存储库和错误版本的工件(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

修复了问题。

于 2009-09-04T10:55:45.937 回答