簡體   English   中英

Java Web Start ExtensionInstallerService-如何掌握應用程序中的安裝路徑?

[英]Java Web Start ExtensionInstallerService - How to get hold of the install path in the application?

Java Web Start具有ExtensionInstallerService ,在安裝(和卸載)應用程序時將調用它。 它允許在由getInstallPath() API提供的本地目錄中安裝“擴展”,其內容如下:

java.lang.String getInstallPath()

返回建議安裝程序在其中安裝擴展的目錄。不需要安裝程序在此目錄中安裝,這只是建議的路徑。

我現在想知道如何掌握正在運行的Web Start應用程序(在application-desc JNLP元素中定義的內容)中提供的安裝路徑。

我已經檢查了應用程序正在運行的JVM的系統屬性deployment.*那里有很多deployment.*屬性,但沒有擴展安裝程序使用的安裝路徑。 ExtensionInstallerService本身在正在運行的應用程序中不可用-因此無法在此處調用getInstallPath()

使用ServiceManager.lookup("javax.jnlp.ExtensionInstallerService")可以訪問服務實例,然后根據需要使用其方法。

向JNLP客戶端請求具有給定名稱的服務。 查找必須是冪等的,即對於具有相同名稱的每次調用都返回相同的對象。

參數:

name -服務的名稱來查找。

返回:

實現服務的對象。 null將永遠不會返回。 而是將引發異常。

拋出:

UnavailableServiceException如果服務不可用,或者name為null

編輯

我在擴展安裝程序類(JNLP element installer-desc )中查找ExtensionInstallerService沒問題,但是此服務在正在運行的應用程序(JNLP element application-desc )中不可用。

,沒有意識到。 無論如何,在擴展程序安裝程序代碼中,向用戶提供安裝擴展程序的位置,然后使用PersistenceService存儲該路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM