在我们公司,我们有几个应用程序通过来自各种外部供应商的Java小程序运行。 我们的问题是:app1只能在JRE 1.6.05上运行,而app2需要1.6.16。 有没有一种方法可以指定哪个applet获取哪个JRE,而不是只为所有applet(以及所有用户)select一个JRE? 我不认为我们应该为所有用户授权一个JRE,因为即使我们find一个解决scheme,其中一个供应商也会在某个时候发布一个新的补丁,这个补丁将会重新开始整个周期。
这种依赖关系的不兼容性是应用程序虚拟化非常适合整理的事情之一。
使用应用程序虚拟化,您可以将每个难度较高的应用程序及其特定版本的JVM打包到计算机上的一个虚拟“泡泡”中,甚至不会看到其他虚拟应用程序在自己的围墙中安装了自己的JVM版本 – 泡沫。
应用程序虚拟化由Microsoft的App-V(以前称为Softgrid),Symantec / Altiris的软件虚拟化解决scheme(SVS),Citrix XenApp或VMWare ThinApp等系统提供。
您还有另外一个被广泛利用的安全漏洞的问题,使得持续运行过时的Java小程序成为高风险。
解决scheme是停止使用客户端Java,禁止具有pipe理权限的用户访问互联网,或者部署某种安全设备/代理。
在6月10日之前,PlugIn JVM在浏览器内运行。 每个进程只能有一个JVM实例,所以使用不同版本的applet不会飞。 自6U10以来,小程序运行在不同的过程中。 通过多个外部进程,小程序的版本select是可能的。 这些信息是在Sun网站上的某个地方