簡體   English   中英

由於對自身的依賴性,在felix中加載包失敗

[英]Loading bundle in felix fails due to dependency on itself

我在這里顯然很諧,但看不到問題所在:

我正在嘗試在Karaf 4 M3中加載捆綁包,我得到的錯誤是這個

org.osgi.framework.BundleException: Unable to resolve package-core [50](R 50.0): missing requirement [package-core [50](R 50.0)] osgi.wiring.package; (osgi.wiring.package=bi.package.internal) Unresolved requirements: [[package-core [50](R 50.0)] osgi.wiring.package; (osgi.wiring.package=bi.package.internal)]

我的清單由Maven生成,如下所示:

Manifest-Version: 1.0
Export-Package: bi.package.core.repository;uses:="bi.package.core.repository.objects";version="4.0.0.SNAPSHOT",bi.package.core.repository.objects;version="4.0.0.SNAPSHOT"
Private-Package: bi.package.internal.*
Built-By: bugg
Tool: Bnd-0.0.255
Bundle-Name: package-core
Created-By: Apache Maven Bundle Plugin
Build-Jdk: 1.7.0_65
Bundle-Version: 4.0.0.SNAPSHOT
Bnd-LastModified: 1435161944129
Bundle-ManifestVersion: 2
Bundle-Activator: bi.package.internal.ExampleActivator
Import-Package: bi.package.core.repository;version="4.0.0.SNAPSHOT",bi.package.core.repository.objects;version="4.0.0.SNAPSHOT",bi.meteorite.internal
Bundle-SymbolicName: package-core

看來它是失敗的,因為它取決於自身嗎? 顯然這是錯誤的,所以我在哪里搞砸了?

您的問題是這個:

Import-Package: ... bi.meteorite.internal

您導入了未導出的包,並且您實際上聲明為私有的:

Private-Package: bi.package.internal.*

除非確實需要,否則通常最好不要導入導出的軟件包。 僅當您導出嵌入式依賴項(可能會被較新版本替換為獨立版本)時,才用完。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM