2

有没有办法以编程方式更改deployment.properties(用户的appdata文件夹中的那个)中的选项(不直接写入文件)?

例如,对于我可以使用的系统选项:

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();
    }
}
4

1 回答 1

3

这些选项旨在从 java 控制面板进行更改。

如果它被锁定,用户无法更改它

任何系统部署属性,比如 SomeKey=SomeValue,都可以通过包含另一个键 SomeKey.locked 来锁定。键 SomeKey.locked 可能会也可能不会被设置为一个值;在任何一种情况下, SomeKey=SomeValue 都将被锁定,因此用户无法更改它。如果系统部署属性未锁定,则允许用户更改它。

如果不是,用户可以通过控制面板进行更改。

现在,就编程访问而言,在 sun 实现类中有一个Config 类,它提供对至少其中一些属性的访问,例如 setCacheDirectory()。对于那些暴露的人来说,这种改变机制可能是有效的。

至于其他:基于上面提到的那个类,deployment.properties 在内部保存为系统属性,所以我看不出 System.setProperty() 也不会改变这些的原因。然而,改变这样的属性可能会也可能不会有任何影响。

于 2013-03-18T14:57:50.637 回答