【问题标题】:How can I get Java to get preferences from an alternate location?如何让 Java 从备用位置获取首选项?
【发布时间】:2012-03-03 07:20:40
【问题描述】:

我将用两点作为开头:1) 我对 Java 知之甚少。 2) 我要问的几乎可以肯定是一个可怕的 hack。

我有一个不是我编写的应用程序,我无法控制代码。它在(除其他外)Linux 机器上运行。它在$HOME/.java/.userPrefs/... 下的结构中存储其首选项(大概使用Preferences API,我对此一无所知)

我的问题是我想运行此代码的多个实例,每个实例具有不同的首选项。是否可以使用命令行参数或环境变量告诉 Java 解释器使用备用位置来存储首选项?


编辑:我将添加额外的规定,即每个实例都需要在同一用户下运行,并且可以访问相同的(非首选项)文件。

【问题讨论】:

  • 如果应用正在使用系统/VM 变量 - 将其覆盖为启动参数。

标签: java customization preferences


【解决方案1】:

这很简单。它似乎是个人的用户目录。尝试在不同的用户帐户下运行/执行相同的程序。

【讨论】:

  • 不是一个真正的选择,因为这会破坏运行多个会话的目的。
【解决方案2】:

如果您无权访问代码来检查它的实际工作情况,并且它将首选项保存在用户文件夹中,我认为您最好的选择是作为不同的用户运行它。

话虽如此,您始终可以反编译代码并尝试找出是否有任何选项可以传递首选项目录。

【讨论】:

    【解决方案3】:

    您可以为每个要运行的实例创建不同的 chroot。

    【讨论】:

      【解决方案4】:

      答案似乎是“做不到”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多