大家好,
使用 Kura Linux 模拟器,我正在运行来自 Kura 文档 http://eclipse.github.io/kura/dev/deploying-bundles.html#remote-target-device的 Hello World 示例
我设法在本地仿真模式下运行 OSGi 插件,这是 Kura Emulator Linux/java 日志的输出。
21:14:18,036 [Component Resolve Thread] INFO HelloOsgi:15 - Bundle org.eclipse.kura.example.hello_osgi has started!
但是,当我尝试从控制台启动/停止捆绑包时,我只能设法实现安装步骤。以下是安装后主机 OSGi 控制台的一些相关输出。
osgi> install file:/home/tihomir/workspace/kura/plugins/org.eclipse.kura.example.hello_osgi_1.0.0.201712111129.jar
Bundle id is 1020
LastModified 1513020115678
Headers Bundle-ManifestVersion = 2
Bundle-Name = Hello World Example with Logger
Bundle-RequiredExecutionEnvironment = JavaSE-1.8
Bundle-SymbolicName = org.eclipse.kura.example.hello_osgi
Bundle-Version = 1.0.0.201712111129
Import-Package = org.eclipse.osgi.framework.console;version="1.0.0",
org.osgi.framework;version="1.3.0",
org.osgi.service.component;version="1.2.2",
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional,
org.osgi.util.tracker;version="1.3.1",org.4j;version="1.7.21"
Manifest-Version = 1.0
Service-Component = OSGI-INF/*.xml
Location file:/home/tihomir/workspace/kura/plugins/org.eclipse.kura.example.hello_osgi_1.0.0.201712111129.jar
State 2
Bundle 1020|Installed | 1|org.eclipse.kura.example.hello_osgi (1.0.0.201712111129)
Version 1.0.0.201712111129
RegisteredServices null
ServicesInUse null
Module osgi.identity; osgi.identity="org.eclipse.kura.example.hello_osgi"; type="osgi.bundle"; version:Version="1.0.0.201712111129" [id=1020]
SymbolicName org.eclipse.kura.example.hello_osgi
BundleContext null
BundleId 1020
osgi> ss
"Framework is launched."
id State Bundle
0 ACTIVE org.eclipse.osgi_3.12.50.v20170928-1321
Fragments=1
997 RESOLVED org.slf4j.api_1.7.2.v20121108-1250
Fragments=5, 998
998 RESOLVED org.slf4j.impl.log4j12_1.7.2.v20131105-2200
Master=997
1020 INSTALLED org.eclipse.kura.example.hello_osgi_1.0.0.201712111129
但是现在,当我尝试激活捆绑包时,尽管上面的输出显示 org.slf4j 已解决,但我得到以下异常
osgi> start 1020
gogo: BundleException: Could not resolve module: org.eclipse.kura.example.hello_osgi [1020]
Unresolved requirement: Import-Package: org.slf4j; version="1.7.21"
我在 Debian 9 上运行模拟器。这也是插件清单
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Hello World Example with Logger
Bundle-SymbolicName: org.eclipse.kura.example.hello_osgi
Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Service-Component: OSGI-INF/*.xml
Import-Package: org.eclipse.osgi.framework.console;version="1.0.0",
org.osgi.framework;version="1.3.0",
org.osgi.service.component;version="1.2.2",
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional,
org.osgi.util.tracker;version="1.3.1",
org.slf4j;version="1.7.21"
已经尝试了一些我在这里和 Eclipse 论坛上找到的检查/修复,但没有任何效果,所以欢迎任何新的建议。