我想让我的applet带一个定制的虚拟机,然后用户的浏览器就直接用这个虚拟机来运行applet,而不用再下载安装了。高手看过来。

解决方案 »

  1.   

    你可以查看jdk目录,抽取你所需要的内容,形成一个小型jdk.
    eg:从rt.jar中抽取你所要的jdk的class,按照原来的目录结构打包成为一个新的rt.jar
      

  2.   

    重新描述一下我遇到的问题我开发完applet程序后遇到这样的问题,winxp 上的IE默认是没有任何jre的,所以用户必须下载安装jre 插件.我在想有没有可能用户不用去安装jre插件,而直接运行applet?我的想法是这样的,有些桌面程序用到了java技术,但是为了防止用户没有java环境,所以他们的程序都是自带了一个定制的jre的.
    现在的疑问就是,这种方法能不能在applet上使用?欢迎大家讨论,顶者皆有分.解决问题的,开帖另送100.
      

  3.   

    你说的方法,用在applet上面是不可行的。桌面程序自带JRE没问题,因为它将JRE包含在自己的应用程序中,或者在安装时一同安装,或者在启动时调用自己的JVM。但是在浏览器上,你要在客户端运行applet,必须让他的客户端有JRE,即便是你自带,对方也要下载。如果你只是觉得标准的JRE过大,你可以使用ActiveX等技术,提供一个小的。但是你要保证用户会同意下载才能让他们运行到你的applet。(现在的浏览器,或许都会自动把你的ActiveX下载通知屏蔽掉。)另外,我记得Windows XP的IE会自带一个MS JVM,可以支持一些基本的程序,或许你用到了它不支持的类。在IE的设置中,打开Microsoft VM的控制台,可以查看错误信息。
      

  4.   

    to King_Play(程序猎人):
    winxp 上的ie是没有jre的,甚至连MS JVM 都没有。用户要使用applet必须下载安装。如果这个问题不能解决的话,applet简直是一点市场都没有了。对于internet应用而言,强迫用户必须装jre,太苛刻了。顶
      

  5.   

    >>桌面程序自带JRE没问题, yes!>>applet简直是一点市场都没有了,对于internet应用而言,强迫用户必须装jre,太苛刻了
    SUN和MS本来就是对手,IE凭什么支持SUN的JVM?MS本来就有自己的CLR。
    只要你的applet能给用户带来效益,他们会安装的。
      

  6.   

    使用ACTIVEX?
    是不是不太安全
      

  7.   

    ,ACTIVEX在绝大多数浏览器中默认被屏蔽
      

  8.   

    不管是另外下载jre,还是applet自带,难道客户端不都是需要下载jre的那部分文件吗?
    只不过一个是分开来下载,一个是包装起来一起下罢了
    客户端需要的代价都是一样的
      

  9.   

    JRE放在applet里面是不太可能的
    因为APPLET只能回访它所在的主页的页面
    而不能访问客户端的任何资源
    所以不可能把JRE装到客户端上去