![在每个用户的家里安装 JRE?](https://linux22.com/image/495717/%E5%9C%A8%E6%AF%8F%E4%B8%AA%E7%94%A8%E6%88%B7%E7%9A%84%E5%AE%B6%E9%87%8C%E5%AE%89%E8%A3%85%20JRE%EF%BC%9F.png)
我无法在同一个桌面但不同的用户上运行 Java Applet(Java Webstart、jnlp);我认为这是由于 Java 的锁定机制(或类似的东西)阻止两个用户运行相同的 JRE,尤其是相同的 Applet。
有没有办法在每个用户的目录上安装单独的 Java 实例?
桌面运行的是 ubuntu 最新 9.10
谢谢
答案1
Java 肯定不是问题所在。问题可能出在 applet 上,但问题不在于 applet 本身,而是它做出的一些假设,比如总是使用同一个临时文件或锁定同一个可写文件,然后忘记锁定。
尝试重现该问题,然后运行lsof在程序上。您将看到许多开放的库,但您正在寻找用户可写端(主目录、/tmp、/var/tmp)中具有固定文件名的内容。
答案2
你知道 Java 小程序在客户端站点上运行,而不是在服务器上运行。那么,你是说用户登录到托管小程序的同一台机器吗?
我的意思是,每个用户都可以在他们的主目录中安装 JRE 并更新 $PATH 和 $CLASSPATH 变量,但这是一场维护噩梦。例如,如果 Java 代码更新并且某些方法被弃用,那么您就是在要求大众升级到新的 JRE。为什么不使用 5 个左右的用户帐户进行测试并查看小程序的行为 - 也许它仍会与这 5 个用户一起冻结。