У меня есть пакет со следующим mainfest:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: HelloCamera
Bundle-SymbolicName: HelloCamera
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: hellocamera.Activator
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: cameraservice, cameraserviceimpl, org.osgi.framework
Layout:
HelloCamera
-> hellocamera
-> Activator.java
И второй пакет с этим манифестом:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: CameraService
Bundle-SymbolicName: CameraService
Bundle-Version: 1.0.0.qualifier
Bundle-Localization: plugin
Export-Package: cameraservice, cameraserviceimpl
Import-Package: org.osgi.framework
Bundle-Activator: cameraserviceimpl.Activator
Layout:
CameraService
-> cameraservice
-> CameraService.java
-> cameraserviceimpl
-> Activator.java
-> CameraServiceImpl.java
Я могу запустить первый пакет из Eclipse, и все работает нормально, как и ожидалось. Затем я экспортировал оба пакета как CameraService.jar
и HelloCamera.jar
соответственно.
Я открыл консоль OSGI, java -jar equinox.jar -console
и
osgi> install file:CameraService.jar
osgi> install file:HelloCamera.jar
osgi> ss
id State Bundle
17 INSTALLED HelloCamera_1.0.0.qualifier
18 RESOLVED unknown_0.0.0 [18]
тогда я получаю
The Bundle could not be resolved. Reason: Missing Constraint: Import-Package: cameraservice; version="0.0.0"
jar
? Одинjar
, один пучок. - person chrylis -cautiouslyoptimistic-   schedule 02.09.2013jar
. (Скопировав его из zip-файла, а не из Eclipse.) - person chrylis -cautiouslyoptimistic-   schedule 02.09.2013jar
? - person cxzp   schedule 02.09.2013jar
в архиваторе (например, WinZip) или используйтеjar -xf Test.jar META-INF/MANIFEST.MF
. - person chrylis -cautiouslyoptimistic-   schedule 02.09.2013jar
файл! Экспортируйте каждый пакет какjar
, а затем импортируйте их вместе или в правильном порядке. - person chrylis -cautiouslyoptimistic-   schedule 02.09.2013