本文共 4594 字,大约阅读时间需要 15 分钟。
如果次要运行带有的,总要安装一次(从sun download的),有时机器里竟同时又好几个jdk,什么的,logic的,bea server,从sun download的,等等,是不是太多了呢?机器有点乱,其实除了application server 以及其他的()container,如果要单独运行jdk,会提高的效率(其实小一点的server完全也可以用JBUILDER的自带的jdk,JBUILDER下面的tomcat就是很好的例子)现在要求运行有swing的applet,要设定 plugin,和jre,当然你也可以选择安装jre 或jdk ,不过在你的机器上就要有多一个jdk目录了。既然JBUILDER已经带了jdk,那就应该好好利用,现手动设定如下(以juilder9为例):
1、拷贝juilder9下jdk1.4/jre/bin/jpicpl32.cpl,到系统的system32目录,保证控制面板里有java plugin的图标。
*.cpl是控制面板 程序 ,放在系统目录,会在控制面板里有相应的图标。 2、在下加上(我的juilder9装在E盘)[HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment/1.4.1_02]"MicroVersion"="1""RuntimeLib"="e://JBuilder9//jdk1.4//jre//bin//client//jvm.dll""JavaHome"="e://JBuilder9//jdk1.4//jre"和[HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Plug-in/1.4.1_02]"UseJava2IExplorer"=dword:00000001"JavaHome"="e://JBuilder9//jdk1.4//jre""HideSystemTrayIcon"=dword:00000000保证控制面板里的java plugin双击能够运行。3、 注册 NPJPI141_02.dll,在命令行输入 regsvr32 E:/JBuilder9/jdk1.4/jre/bin/NPJPI141_02.dll 保证NPJPI141_02.dll 注册成功。
NPJPI141_02.dll 是一个COM组件,包含三个COM对象,分别为Java Plug-in 1.4.1_02 <applet> 转向器 和相应Java Runtime Environment 1.4.1_02链接器,classid分别为8AD9C840-044E-11D1-B3E9-00805F499D93,CAFEEFAC-0014 -0001-0002-ABCDEFFEDCBA,CAFEEFAC-0014-0001-0002-ABCDEFFEDCBB
它同通过提供一组com接口使得ie在浏览带有applet的页面时,原来是通过微软的java虚拟机(在system32目录的一个msjava.dll文件),重新转向到sun 的jre环境。
4、因为NPJPI141_02.dll的注册过程,在注册表的相应位置没有正确的设置(NPJPI141_02.dll在注册表的注册文件名为NPJAVA141_02.dll,这可就是最大的错误),所以最后还要手动的修改注册表。
[HKEY_CLASSES_ROOT/CLSID/{8AD9C840-044E-11D1-B3E9-00805F499D93}/InprocServer32]
@="E://JBuilder9//jdk1.4//jre//bin//npjpi141_02.dll" [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/{8AD9C840-044E-11D1-B3E9-00805F499D93}/InprocServer32]@="E://JBuilder9//jdk1.4//jre//bin//npjpi141_02.dll"[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBA}/InprocServer32]
@="E://JBuilder9//jdk1.4//jre//bin//NPJPI141_02.dll"[HKEY_CLASSES_ROOT/CLSID/{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBA}/InprocServer32]
@="E://JBuilder9//jdk1.4//jre//bin//NPJPI141_02.dll" [HKEY_CLASSES_ROOT/CLSID/{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBB}/InprocServer32]@="E://JBuilder9//jdk1.4//jre//bin//NPJPI141_02.dll"[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBB}/InprocServer32]
@="E://JBuilder9//jdk1.4//jre//bin//NPJPI141_02.dll"都是文件名称错误,修改NPJPI141_02.dll包含的三个com对象指向正确的文件名。
5、修改msjava.dll转向SUN 的JRE环境。
[HKEY_CLASSES_ROOT/CLSID/{08B0E5C0-4FCB-11CF-AAA5-00401C608501}/TreatAs]
@="{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBB}"classid为08B0E5C0-4FCB-11CF-AAA5-00401C608501的com对象被包含在msjava.dll里。是ms java 虚拟机的一部分。
6、最后一步可做可不做,没有的话好像也可以运行。
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Active Setup/Installed Components/{08B0E5C0-4FCB-11CF-AAA5-00401C608500}]
"KeyFileName"="E://JBuilder9//jdk1.4//jre//bin//ActPanel.dll"运行控制面板里的java plugin程序,进行设定,发现ie的选项里详细设定也有了用sun 虚拟机代替ms 的虚拟机的选项。运行swing的applet 和awt的applet 均可实现,任务栏也出现了 期待 已久咖啡图标,applet 能正常显示。
===========================================================================
[HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment/1.5.0_12] "MicroVersion"="0" "RuntimeLib"="V://jdk1.5.0_12//jre//bin//client//jvm.dll" "JavaHome"="V://jdk1.5.0_12//jre" [HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Plug-in/1.5.0_12] "UseJava2IExplorer"=dword:00000001 "JavaHome"="V://jdk1.5.0_12//jre" "HideSystemTrayIcon"=dword:00000000 [HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Development Kit/1.5.0_12] "MicroVersion"="0" "JavaHome"="V://jdk1.5.0_12" [HKEY_CLASSES_ROOT/CLSID/{8AD9C840-044E-11D1-B3E9-00805F499D93}/InprocServer32] @="V://jdk1.5.0_12//jre//bin//NPJPI150_12.dll" [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/{8AD9C840-044E-11D1-B3E9-00805F499D93}/InprocServer32] @="V://jdk1.5.0_12//jre//bin//NPJPI150_12.dll" [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBA}/InprocServer32] @="V://jdk1.5.0_12//jre//bin//NPJPI150_12.dll" [HKEY_CLASSES_ROOT/CLSID/{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBA}/InprocServer32] @="V://jdk1.5.0_12//jre//bin//NPJPI150_12.dll" [HKEY_CLASSES_ROOT/CLSID/{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBB}/InprocServer32] @="V://jdk1.5.0_12//jre//bin//NPJPI150_12.dll" [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBB}/InprocServer32] @="V://jdk1.5.0_12//jre//bin//NPJPI150_12.dll" [HKEY_CLASSES_ROOT/CLSID/{08B0E5C0-4FCB-11CF-AAA5-00401C608501}/TreatAs] @="{CAFEEFAC-0014-0001-0002-ABCDEFFEDCBB}" ================================================================================== 1. 先运行 注册表文件 2. 注册 NPJPI150_12.dll 3. 清空目录 C:/Documents and Settings/Administrator/Application Data/Sun/Java/Deployment 为什么 IE 不能用, 而 Firefox 确能用? 奇怪???转载地址:http://kknti.baihongyu.com/