我爲OSGi創建了一個命令組件,並使用了Apache Felix Shell。一個命令將打開一個啓動SWT UI的新線程。OSGi/BND:根據操作系統的不同要求
在BND配置的SWT捆綁需要用於構建並運行該組件。現在的問題是,每個開發人員都必須更改配置並在他們的操作系統中包含SWT Bundle。另外,對於每個操作系統,還需要其他打包的Bundle,其中唯一的區別是jar的Manifest中的一行,其他Bundle需要啓動。
是否有BND或OSGi的任何伎倆,在那裏我可以設置生成或運行依賴取決於當前運行的系統上?
類似於「org.eclipse.swt。{OS}。{WS}。{ARCH}」而不是「org.eclipse.swt.win32.win32.x86_64」? 或者至少我可以要求配置中的特定操作系統?所以,如果用戶使用錯誤的包,它會顯示一個很好的錯誤,而不是一個ClassNotFound異常?
另一個問題(http://stackoverflow.com/questions/2706222/create-cross-platform-java-swt-application/5784073#5784073)中描述的解決方案不適用於我或更好我不'不知道BND/OSGi如何做到這一點。
任何想法?
謝謝你的提示。但沒有幫助我真的出來。只有我發現的是「在這種情況下,片段P in將在運行時合併到A的內部類路徑中。」但沒有領導我如何實現這一目標。 – attrib 2012-07-11 07:03:20