2013-03-18 168 views
2

是否有方法以編程方式更改deployment.properties中的選項(用戶的appdata文件夾中的選項)(不直接寫入文件)?以編程方式更改deployment.properties文件

例如,對於系統的選擇,我可以用:

System.setProperty("My Property", "My Value"); 

編輯:基於@eis答案,下面的代碼(作爲一個例子)工作原理:

import com.sun.deploy.config.Config; 

public class Main { 
    public static void main(String[] args) { 
     Config.setMixcodeValue(Config.MIXCODE_ENABLE); 
     Config.store(); 
    } 
} 

回答

3

這些選項的意思從Java控制面板更改。

如果它已被鎖定,用戶cannot change it

任何系統部署的財產,說SomeKey = someValue中,可以通過包括另一個關鍵,SomeKey.locked鎖定 。 SomeKey.locked鍵可能爲 或者可能未設置爲值;在這兩種情況下,SomeKey = SomeValue將被鎖定,以便用戶不能更改它。如果系統部署 屬性未鎖定,則允許用戶更改它。

如果不是,用戶可以通過控制面板進行更改。

現在,至於編程訪問,在sun實現類中,有一個Config class,它提供對至少一些屬性(如setCacheDirectory())的訪問。對於那些暴露出來的,這種改變機制可能起作用

至於其他:基於上面提到的那個類,deployment.properties內部保存爲系統屬性,所以我沒有看到System.setProperty()也不會改變它們的原因。然而,改變這樣的屬性可能會或可能沒有任何影響。