2016-04-26 61 views
0

我有一個Eclipse RCP應用程序,它包含應用程序的bundle類路徑中的庫。該MANIFEST.MF看起來是這樣的:Eclipse RCP:如何處理bundle類路徑中的庫?

... 
Bundle-ClassPath: ., 
    libs/commons-io-2.4.jar, 
    libs/gson-2.3.1.jar, 
    libs/log4j-1.2.17.jar, 
    libs/slf4j-api-1.7.10.jar, 
    libs/slf4j-log4j12-1.7.10.jar 
... 

當應用程序被啓動(如出口產品Eclipse之外),這些庫複製到文件夾configuration/org.eclipse.osgi/13/0/.cp/libs。看看文件屬性,似乎這是在每個應用程序啓動(?)完成的。這種行爲是否有文檔記錄,並可以影響這些行爲(例如,定義從中加載這些庫的自定義文件夾)?

回答

1

這是在插件打包爲Jar時完成的。如果需要,FileLocator.toFileURL將暫時將罐子打開到這個位置。

您可以指定一個插件被打包爲一個目錄,以便這不會發生使用

Eclipse-BundleShape: dir 

如MANIFEST.MF一個條目(見Eclipse help

注:如果您正在使用功能來構建RCP,則此功能將被條目的unpack選項替換爲feature.xml