如果直接删除组件软件包或 RPM,则安装程序下次运行时,会看到组件仍安装在系统中,但不能正常运行。
解决方案:如果已手动删除了组件软件包或 RPM,仍必须使用 Java ES 卸载程序卸载组件。
如果运行 Java ES 安装程序的系统没有足够的交换空间运行安装程序,CLI 模式安装程序 (./installer -nodisplay) 在显示包括以下内容的一条错误消息后,仍继续运行:
com.sun.entsys.dre.DREException: Not enough space |
解决方案:如果看到此消息,退出安装程序。然后,在再次运行安装程序之前,分配更多交换空间或释放现有交换空间。
如果在无提示模式下运行 Java ES 5 Update 1 安装程序并且所指定的状态文件具有无效的 id(例如,来自上一版本的 Java ES),则安装程序不会安装任何软件,而且不报告错误便退出。安装程序日志文件包含以下消息:
Exit Installation due to Error or User has selected exit on Warning. |
解决方案:用 Java ES 5 Update 1 安装程序所生成的有效 id 替换状态文件中的 id。使用以下命令生成 id:
./installer -id |
如果以 —no 选项运行安装程序并在“正在安装”页面上停止安装,则安装程序会退出,同时抛出 InvocationTargetException:
InvocationTargetException thrown in method cancelConfirmed in class com.sun.wizards.core.WizardTreeManager java.lang.NullPointerException at ... |
解决方案:无。
在较早版本的 Solaris 10 上,当在完全根区域中安装 Java ES 时,安装程序可能会显示以下消息之一:
区域中不支持的组件 本地区域中不支持选定组件所需的以下组件, 而且不能将其直接安装到本地区域。请先从 全局区域安装这些组件,然后再继续进行安装 SharedComponent |
或者
您系统上安装的 Sun Web Console 软件包有缺陷, 这会阻止将 Java ES 安装在完全根非全局区域中。 为了更正这种情形,您必须先升级全局区域中的 Sun Web Console 软件包,然后再将 Java ES 安装到 完全根区域 (whole root zone) 中。有关详细信息, 请参见 Java ES Release Notes(错误 6451030)和 Installation Guide。 |
之所以出现这两条消息是因为已安装的 Sun Java Web Console 软件包包含不正确的属性设置,致使安装程序无法对其进行升级。Solaris 10、Solaris 10 1/06、Solaris 10 6/06 和 Java ES 2005Q4 随带的 Sun Java Web Console 软件包均包含不正确的属性设置。
解决方案:要解决此问题,必须先在全局区域中升级 Sun Java Web Console 软件包,然后再在完全根区域中安装 Java ES。您有两种选择:
在全局区域中,运行安装程序并且只安装所有共享组件。这样不但会升级 Sun Java Web Console 软件包并修复区域属性,还会将其他所有 Java ES 5 共享组件都安装到全局区域中,并将它们传播到所有的非全局区域中。对于您所处的情况而言,这种做法可能无法接受,而且,如果已在完全根区域中安装了先前版本的 Java ES,则不建议这样做。
在全局区域中,只升级 Sun Java Web Console 软件包。为此,请登录到全局区域并导航到 Solaris 的 Java ES 5 安装目录。以超级用户身份执行以下操作:
cd Product/sunwebconsole ./setup |
setup 脚本会在全局区域中升级 Sun Java Web Console 并将升级传播到所有的非全局区域。
在稀疏根区域中安装 Java ES 时,安装程序会检查全局区域是否有必须先在全局区域中升级而后才能在稀疏根区域中安装的组件。但是,安装程序并不会将与 Solaris 10 捆绑在一起的 Application Server 版本报告为要升级的组件。
解决方案:在稀疏根区域中安装 Java ES 之前,先在全局区域中运行安装程序,如果安装程序将 Application Server 显示为“可升级”,就对其进行升级。
安装 Java ES 时,安装程序会创建符号链接 /usr/jdk/entsys-j2se,以使组件能够访问同一版本的 Java SE。在全局区域中安装 Java ES 组件后,当您尝试引导完全根区域时可能会收到与 Web Console 有关的错误,原因是 Web Console 软件包已传播到完全根区域,但其所依赖的符号链接却未传播。
解决方案:通过在全局区域中输入以下命令(假定全局区域中所安装的版本为 Java SE 5),在完全根区域中手动创建符号链接:
ln -s /usr/jdk/instances/jdk1.5.0 zone-path/root/usr/jdk/entsys-j2se |
其中,zone-path 是在创建完全根区域时指定的路径。
Java ES 安装程序会通过与 HP-UX 库存机制进行交互来查找已安装的组件、检查是否存在依赖性以及安装位码。库存机制的客户机-服务器体系结构会导致系统响应时间增长,并且与在其他平台上安装相比,重复的交互操作会使整个安装过程显著变慢。
解决方案:无。
如果使用 wcswap 命令将 Web Console 所部署的容器从 tomcat 换为 Application Server,则 Web Console 会由于未在 Application Server 中为其创建域而无法启动。
解决方案:在 Linux 或 Windows 上,不要使用 Application Server 作为 Web Console 的容器。如果已经尝试将容器换为 Application Server,可以再次使用 wcswap 命令将 Web Console 的容器换回到 tomcat。
解决方案:采用以下解决方法之一:
在实际进行 Java ES 5 安装之前,删除 Windows 机器上已安装的 Sun Java Web Console 版本。
再次向较新版本重新注册在上一个 Sun Java Web Console 版本中注册的应用程序,以便继续访问这些应用程序。
在 Windows 平台上,如果在低内存的机器上以在“安装过程中自动配置”模式下全部安装的方式进行安装,则在后配置阶段会无法预料地失败。
解决方案:采用以下解决方法之一:
优化 Windows OS 虚拟内存设置。
在启动 Java ES 安装程序之前尽量释放 RAM,停止所有不必要的程序和服务。
执行选择性安装,使用“自定义”选项有选择地安装产品。
当 Windows system32 文件夹中存在某些 DLL (如 libnspr4.dll、nss3 和 smime)时,就会发生此问题。
这些 DLL 与安装在 install-dir/share/lib 中的 Java ES 版本的 DLL 冲突,从而使 Java ES 服务器无法正常工作。
解决方案:在 system32 文件夹中将这些 DLL 重命名,以使 Java ES 服务器使用这些 DLL 的正确版本。
重命名这些 DLL 可能会导致在 system32 文件夹中安装了这些 DLL 的某些传统应用程序不起作用。
解决方案:在 Windows XP Professional 上,必须禁用来宾帐户。
必须将注册表主键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\ForceGuest 设置为 0,方可成功进行验证。
如果系统的文件描述符限制设置过低,则一些组件无法得到正确配置。安装程序不报告这类配置故障,但配置日志文件会显示这些故障。
解决方案:在安装之前,将文件描述符限制设置为一个高值,例如 1024 或 2048。安装后,可以将文件描述符限制重置回其以前的值。
安装程序应检查共享组件是否为测试版组件,如果它确实是测试版组件,则将其替换。
解决方案:确保开始安装之前,工作站上没有安装测试版组件。
请注意日志消息并非始终有效。例如,即使某些(但并非全部)组件产品在出现某类错误后完成了安装,仍会显示“未安装任何软件”消息。
当选择了某个组件产品时,安装程序会自动选择安装其依赖的任何组件产品。组件产品选择页面并不指示已随原组件产品一起选择了依赖的组件产品。
解决方案:无。
某些语言(如德语)的窗口宽度不够,无法显示整个界面。因此,一些元素(如提示)的文本在右侧或在底部会被截断。
解决方案:手动调整窗口大小。