- 论坛徽章:
- 0
|
J2EE SDK、SJSAS 和 Glassfish 常见安装故障
以下是安装 J2EE SDK 1.4、JavaEE SDK 5、Sun Java System Application Server(SJSAS)8、9 和 Glassfish 常见故障和解决方法。它们是从 Snjezana 的网志,java.net wiki, 和 Glassfish dev email 中提取、整理的,希望对大家有所帮助。
故障:错误信息: “‘空’临时目录不是一个可写的目录”
在 WINDOWS 下,如果环境变量 TEMP 或 TMP 被设成顶层驱动器路径(比如 E:\), Java EE 5 SDK 自解压可执行文件将不能正确处理,你会得到错误信息: “‘空’临时目录不是一个可写的目录”。一个临时的解决办法是,你可以暂时把这些环境变量设成已存在的目录(比如,E:\temp),重新开始安装。
故障:安装没有真正开始,只是给出错误信息:“错误: 没有需要安装的文件”
如果安装程序在自解压时不能找到所需要的文件,就会引发这个错误。最有可能的原因是从下载文件不完整。重新下载一遍,确认文件大小无误,再启动安装程序。
故障: 在选择安装目录时点击“下一步”,Windows 安装 hang 机
有以下几个可能的原因,以及相对应的解决办法:
在该阶段安装程序正在核查可供使用的端口。因为系统防火墙设置,这可能要较长时间,在最不利的情况下安装程序无法找到任何可供服务器使用的端口。
方法一: 安装 J2EE SDK 前,确认你的防火墙允许使用以下默认端口,而且这些端口还没被其它程序占用:8080, 4848, 8181 (1043 如果是 早于Application Server 8.1 的版本), 7676, 3700, 8686, 3820 (1060 如果是早于 Application Server 8.1 的版本) 和 3920 (1061 如果是早于 Application Server 8.1 的版本)。
方法二: 暂时关闭防火墙,重新开始安装 J2EE SDK 。安装完成后重新启动防火墙,配置防火墙让它允许那些分配给服务器的端口。你可以查看 install_dir/domains/domain1/config/domain.xml 文件来找到这些端口。
访问组件注册文件出现死锁。如果以前安装或卸载 J2EE 1.4 SDK (或 Sun Java System Application Server,或包含它们的其它产品)没有顺利完成,用来控制组件注册的文件锁被遗漏了下来。
方法:若想确认它是不是罪魁祸首,你应该查看 %WinDir%\system32 文件夹,有没有任何以 “productregistry” 开头的文件。正常情况下,只应该有一个叫 “productregistry” 的文件。如果你是第一次在当前机器上安装 J2EE 1.4 SDK 或相关的产品,就不应该有这个文件。你如果发现其它这样的文件锁,也把它们删除掉。然后重新开始安装。注意在有些情况下你会碰到关于目标目录中已有安装的问题,在以下的章节中会单独讲到这个问题。
在有些情况下,WINDOWS hang 是由于安装程序的背景线程在 AWT 包中崩溃,这种崩溃最有可能是由图像驱动器不兼容引起。你往往看不到相对应的堆栈轨迹,因为安装程序的输出是被重定向的。
方法:在命令行下运行安装程序就能解决该问题。开启 WINDOWS 命令行窗口,进入 J2EE SDK 下载文件(应该是个可执行文件)所在的目录,运行以下命令:
<distribution_name> -console
这会打开一个新的命令行窗口,安装程序会通过一系列命令行提示来进行。你根据提供的指示和提示,可以接受默认值,或输入必需的信息。
故障: 安装程序报告在目标目录中已存在安装,尽管该目录是空的,或者甚至不存在。
最有可能的原因是以前安装的 J2EE 1.4 SDK 或 Application Server 没有通过提供的卸装程序来卸装,安装文件被手工删除了,但是当前机器的注册文件仍显示相对应的产品和组件还安装在原来的地方。
方法:
最方便的方法是选择一个不同的安装目录。
要想安装在原来选定的目录,你需要清理包含这些产品、组件注册信息的注册文件。这些文件的位置取决于 OS 和安装用户:
操作系统
文件位置
Windows
%WinDir%\system32
Linux
/var/tmp
Solaris (root 用户安装)
/var/sadm/install
Solaris (非 root 用户安装)
N/A (这种情况下不存在这问题)
当找到了productregistry 文件,你有两个选择:
把整个 productregistry 改名。不过你必须非常小心。因为该文件被其它一些 SUN 的产品共享,所以把该文件更名或删除会影响到其它产品的安装和卸装。如果你选择这样做,务必记下改名后的新文件的名字和位置,需要时可以恢复。
选择性地修改 productregistry 文件的内容。这是一个 XML 文件,所以可以用任何文本编辑器。最保险的办法是改写包含你安装目录的<location> 元素的值,例如:
<location>/opt/SUNWappserver</location>
你若想重新安装在 /opt/SUNWappserver 目录,把它改写成:
<location>/opt/dummy</location>
故障: 我的 Linux 分发版不在 J2EE 1.4 SDK 正式支持的名单中
大多数情况下,只要按照下面的步骤,你还是可以在这些平台上安装 J2EE 1.4 SDK。有些技巧对于在正式支持的 LINUX 安装也很有帮助:
确认 libstdc++-libc6.2-2.so.3 已安装在当前系统上(应该是在 /usr/lib 目录)。如果没有,你需要从这里下载、安装合适的 RPM:
http://mirrors.kernel.org/redhat ... 3-2.96.118.i386.rpm
如果在运行自解压安装文件时发生 hang,没有显示安装向导(已有 BUG 6158420),你可以试一下以下办法:
如果当前 SHELL 中设了 JAVA_HOME 环境变量,把它删除掉
如果当前系统已经安装了 J2SE 或 JRE 1.4.1 或更高版本,你可以在运行安装程序时用 -javahome 选项,对应到已安装的 JAVA 路径:
./<distribution_name> -javahome java_install_dir
如果按照这些步骤还是不能运行安装向导,你可以手工解压下载的文件,并按照以下的步骤来运行安装向导:
把分发文件移到一个专门的临时目录,运行 unzip 命令:
unzip <distribution_name>
调整 JRE 文件的权限:
chmod -R 755 package/jre/bin
用以下的命令来运行安装向导:
./package/jre/bin/java -cp .:package/PackageFormat.jar -Xmx256m appserv (GUI 安装 )
or
./package/jre/bin/java -cp .:package/PackageFormat.jar -Djava.awt.headless=true -Djava.library.path=package appserv -nodisplay ( 命令行安装)
故障: 在Solaris 8中,安装程序报告说没有足够的硬盘空间,尽管选择的分区有足够的空间。
因为当前的 Solaris 8 没有安装补丁 108434-06 (或更高) 和 109147-15 (或更高)。解决方法是安装这些补丁,可以在这里下载:http://sunsolve.sun.com
若在 Solaris 8 或 9 下安装 J2EE 1.4 SDK, 通常应该安装整个适合该版本的推荐的补丁集群。
故障: 安装进程冻结5分钟,输入管理员密码和端口后再次发生。
有可能是因为安装程序正在核查服务器使用的默认端口。在有些系统的网络配置中,这一步要较长时间。不过,你可以用 -noportcheck 选项让安装程序跳过端口核查:
./<distribution_file_name> -noportcheck
这可能会解决安装进程冻结的问题。不过,这会导致服务器使用一些默认的端口,不管它们有没有已被其它进程占用。所以你应该在安装结束后启动服务器前检查一下install_dir/domains/domain1/config/domain.xml,看那些端口是不是有冲突。
故障: 得到错误 "CLI130 无法创建域, domain1"
最可能的原因是,通过当前网络配置系统无法解析自身的名称。通常你需要修改 /etc/hosts 文件。详细的解决方法请看:http://forum.java.sun.com/thread ... amp;threadID=526951 |
|