2012-08-22 36 views
2

如何以編程方式查找JNLP文件的路徑?我正在使用Java Web Start生成JNLP文件。 我知道手工您可以在名爲launch.jnlp的資源中的Java Cache Viewer中找到JNLP文件,但我真的需要知道是否存在可以通過搜索內存緩存以編程方式找到jnlp文件的Java類。如何以編程方式查找JNLP文件的路徑?我正在使用Java Web Start生成JNLP文件

+1

更好的問題是 - 你試圖實現什麼功能?無論那個特點是什麼,你都會以錯誤的方式去做。 –

回答

1

如何以編程方式查找JNLP文件的路徑?

它被故意隱藏。如果你可以從代碼中找到它(簡短地要求用戶瀏覽它),那麼JRE就有一個安全漏洞。

..for啓動安裝程序,我需要的應用程序的jar文件路徑

不,你不會。

  • 將安裝程序放入Jar中。
  • 將Jar添加到應用程序的資源中。
  • 使用getResource(String)獲取網址。
  • 閱讀byte[]並在已知位置(例如java.io.tmpdir)寫入到一個臨時文件
  • 從已知位置啓動安裝程序。
+0

謝謝你的答案。我的問題是,在Java 7 Update 6中,getCacheEntry()方法被刪除沒有任何解釋,我不知道另一種方式從內存緩存中獲取應用程序jar文件路徑,所以我想我應該尋找一種獲取jnlp文件路徑的方法,但是如果JRE有一個不可能的安全漏洞。你在這種情況下建議我做什麼? –

+0

在我們繼續之前,我需要一個答案(這次更大聲一點)***你試圖實現什麼功能?***向我解釋它,你可以向最終用戶解釋它,說服我這是'必須有'的功能,所以我購買軟件。 –

+0

我正在使用java web start來獲取應用程序的安裝程序,並且爲了啓動安裝程序,我需要使用getCachedFiles()方法(可在Java 7 Update 5中獲得)從內存緩存中獲得它們的應用程序jar文件路徑。 –

0

String jnlpPath = System.getProperty(「jnlpx.origFilenameArg」);

相關問題