2012-08-01 67 views
0

我在我的OSGI包中使用Java和HelpGUI,並且使用的鏈接不起作用。當我在非OSGI Java項目中使用HelpGUI時,它們在相同的html文件上工作得很好。我需要考慮一些安全設置或特殊的路徑嗎?讓我知道,我可怕的卡住了。我的html超鏈接在我的OSGI包中不起作用

回答

2

你應該看看HelpGui的源代碼,我可以看到它爲什麼不能在OSGi中工作(它依賴於jar文件中通常具有的特定URL格式資源)。

如果你看一下net.sourceforge.helpgui.gui.HelpView頁面,圍繞行222:

else //It's perhaps a page on the help toppic 
{ 
//Serach the page from 
int ind = url.lastIndexOf('!'); 
url = url.substring(ind+1,url.length()); 
url = url.replaceFirst(MainFrame.helpPath+"/",""); 
updatePage(getLinkedPage(pageRoot.children(), url), true); 
} 

是不會在OSGi的工作,爲項目的URL格式是真的不同。例如,在春分捆URL看起來像:

bundleresource://2.fwk1657006569:1general/features.html 

(其他的實現可能是不同的,關鍵是,你不能依賴它)

在「正常的Java」的URL看起來像:

jar:file:/home/demo-helpgui/nonosgi/lib/helpgui-1.1-demo.jar!/docs/help/general/features.html 

它是可修復的,它不應該太難,但你必須聯繫HelpGui作者或讓自己的手變髒。

問候,弗蘭克

+0

我'正常的java'的URL通常看起來像這樣,但絕對沒有保證。有一個目錄已經失敗了,但也有其他的URL正在使用。 – 2013-08-02 06:41:54

相關問題