2013-05-06 61 views
1

我對OSGI很新。我正在嘗試將一個新庫FreeMarker添加到使用Spring 3的現有應用程序中。我們正在使用Equinox。下面是我所做的更改,在pom.xmlFreemarker:OSGI Bundle異常

新增Freemarker的依賴,

<dependency> 
     <groupId>org.freemarker</groupId> 
     <artifactId>com.springsource.freemarker</artifactId> 
     <version>2.3.18</version> 
    </dependency> 

我希望這個瓶子是OSGI投訴。

Import-Package部分我加com.springsource.freemarker;version="2.3.18"

Bundle-ClassPath我說,lib/com.springsource.freemarker-2.3.18.jar

當我部署應用程序,我得到下面的錯誤,

org.osgi.framework.BundleException: The bundle could not be resolved. Reason: Missing Constraint: Import-Package: com.springsource.freemarker; version="2.3.18" 

請讓我知道缺少配置。

由於事先 SD

回答

0

束com.springsource.freemarker不具有相同的名稱導出包。您正在將Bundle-SymbolicName與要導入的包名稱混合。

請參閱導出的軟件包部分http://ebr.springsource.com/repository/app/bundle/version/detail?name=com.springsource.freemarker&version=2.3.18以瞭解您可以在另一個軟件包中導入的內容。

+0

+1這聽起來像是一個合理的解釋。 'Import-Package'應該基本反映Java源代碼中的彙總導入語句。因此,您不必手動維護它。你在用Maven bundle插件創建嗎?這應該自動生成'Import-Package'頭文件。 – 2013-05-07 13:31:48