2014-04-02 25 views
1

我有一個小程序,其init()方法調用一個jnlp文件,它下載一個jar文件(使用Runtime類和exec('javaws + jnlp的路徑)。 但我無法給我有什麼解決方法可以提供真實路徑?當我給jnlp文件的絕對路徑時有效。使用相對路徑加載jnlp文件

+0

請給我們一些例子a)什麼是工作和b)你到目前爲止嘗試 – Lonzak

+0

jawaws +絕對路徑(C:\\ .. myfile.jnlp)工作正常,但相對路徑不會與jnlp.Right現在即時通訊使用class laoder來獲取jnlp的路徑。是否有任何方法可以合併相對路徑 –

+0

您嘗試了什麼相對路徑?相對於什麼? 「myfile.jnlp」或「/myfile.jnlp」或codebase/myfile.jnlp ...有很多可能性。你甚至設置了代碼庫嗎?這個jnlp文件位於哪裏?在applet.jar裏面?在它的旁邊? – Lonzak

回答

0

一個applet在web瀏覽器中運行,並且你的jnlp文件仍然在所以你不能通過文件系統訪問它 - 即使你有權限,因爲它根本就沒有。有兩種可能性:

1.) 通過訪問你的jnlp文件

2) 您的JNLP文件添加到您的applet.jar,並加載它:在我的web項目的lib getClass().getClassLoader().getResourceAsStream("myfile.jnlp");

1

..jnlp文件

這不會是可以在那裏訪問,並且應該移動到服務器上可用於瀏覽器的區域(以及試圖訪問它的JWS客戶端)。

務必使用JaNeLA檢查JNLP,可用here。加載JNLP時,請使用最終用戶用來獲取它的地址(而不是文件系統上的地址)。