![](/img/trans.png)
[英]ClassNotFoundException for org.osgi.framework.BundleActivator despite of Import-Package
[英]Why does this OSGi Import-Package not work?
我正在閱讀此OSGi教程(使用Eclipse,並安裝了PDE插件):
http://www.vogella.com/tutorials/OSGi/article.html
在任務10之前,一切正常。 但是現在我有一個問題:
“導入包:org.osgi.framework; version =“ 1.3.0”(可能是由於生成的Activator類而自動生成)顯示以下錯誤:“沒有可用的包導出包'org.osgi。框架'”
在Activator類中,我還為BundleActivator和BundleContext之類的類獲得了解析錯誤。 我通過使用外部jar(org.eclipse.osgi)解決了此問題,但是我很確定這不是正確的方法,因為您應該在MANIFEST文件中聲明所有依賴項。
但是如何添加org.eclipse.osgi jar,以便清單中的導入包行就足夠了?
我的整個清單文件:
Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Internal Bundle-SymbolicName: com.osgi.beispiel.one.bundle.internal Bundle-Version: 1.0.0.qualifier Bundle-Activator: com.osgi.beispiel.one.bundle.Activator Bundle-Vendor: OSGI Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Import-Package: org.osgi.framework;version="1.3.0" Bundle-ActivationPolicy: lazy
我的工作空間中“沒有可用的包導出包'org.osgi.framework'”的原因是無效的$ {eclipse_home}。 “窗口-首選項-目標平台-運行平台”上的復選框標記有紅色圖標。 我遵循“編輯...”,選擇“ $ {eclipse_home}”,“編輯...”,並選中“此安裝使用默認配置區域”。 用“完成”離開對話框后。 “確定”,問題解決了。
將org.eclipse.osgi
添加到MANIFEST.MF編輯器的“依賴關系”選項卡的“必需的插件”部分中(這將在MANIFEST.MF中添加“ Require-Bundle”行)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.