簡體   English   中英

為什么此OSGi導入包不起作用?

[英]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”行)。

這是一個Eclipse配置問題。 缺省情況下,Eclipse定義了一個路徑,該路徑用於查找捆綁軟件-該路徑可能不包含您的項目所需的捆綁軟件,因此請確保將路徑添加到可以找到相關捆綁軟件的位置:

在此處輸入圖片說明

暫無
暫無

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

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