只有在 Linux 系统上将 Sun GlassFish Web Server 与 Enterprise Server 和负载平衡器一起使用时才会出现此问题。在此情况下,安装 Enterprise Server 和负载平衡器之后,Web Server 可能无法启动,因为 libicui18n.so.2 和 libicuuc.so.2 发生冲突。这些库同时位于 /opt/sun/private/lib 和 /opt/sun/appserver/lib 中。
要使用的正确的库只能位于 /opt/sun/appserver/lib 中,因为 lbplugin 根据这些库生成。一旦从 /opt/sun/private/lib 中删除这两个库,Web Server 便应该能够顺利启动,不会出现任何错误。
或者,如果不希望从 /opt/sun/private/lib 中删除这些库,可以在 Web Server startserv 脚本的 LD_LIBRARY_PATH 中,将 /opt/sun/appserver/lib 放在 /opt/sun/private/lib 之前;也就是将:
# Add instance-specific information to LD_LIBRARY_PATH for Solaris and Linux LD_LIBRARY_PATH="${SERVER_LIB_PATH}:${SERVER_JVM_LIBPATH}:${LD_LIBRARY_PATH}: /opt/sun/appserver/lib:/opt/sun/appserver/lbplugin/lib"; export LD_LIBRARY_PATH |
替换为:
# Add instance-specific information to LD_LIBRARY_PATH for Solaris and Linux LD_LIBRARY_PATH="/opt/sun/appserver/lib:/opt/sun/appserver/lbplugin/lib: ${SERVER_LIB_PATH}:${SERVER_JVM_LIBPATH}:${LD_LIBRARY_PATH}"; export LD_LIBRARY_PATH |