今天碰到的问题比较怪,WEBLOGIC启动不起来的常见原因
(1)多用户启动都去启动这个DOMAIN
(2)没有正常执行stopWeblogic
(3)内存配置参数异常
一般还可以使用DOS窗口执行来检查问题,我今天碰到的是DOS一执行连DOS窗口都被强制关掉,机器重新启动/关闭杀毒软件/重建空DOMAIN/WEBLOGIC重新安装全无效,只能从根本上找原因了
WEBLOGIC启动最后是用java去执行weblogic.class,并且带了一堆参数,我这次出现的问题是这样的
其中有个标准参数是 JAVA_OPTIONS,这个参数标准初始化出来的内容如下
-da -Dplatform.home=C:\bea10\WLSERV~1.0 -Dwls.home=C:\bea10\WLSERV~1.0\server -Dweblogic.home=C:\bea10\WLSERV~1.0\server -Dwli.home=C:\bea10\WLSERV~1.0\integr ation -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testC onsole=false -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=C:\bea10\patch_wls100 0\profiles\default\sysext_manifest_classpath;C:\bea10\patch_wlw1000\profiles\def ault\sysext_manifest_classpath
在我的当前环境下,最后两个参数-Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=C:\bea10\patch_wls1000\profiles\default\sysext_manifest_classpath;C:\bea10\patch_wlw1000\profiles\default\sysext_manifest_classpath一加进去,WEBLOGIC窗口自动关闭,经查看,第一个参数干脆是没设置值,第二个参数设置的目录在我本机是不存在的路径,把这两个参数去掉就能正确启动了。
遗留两个问题
(1)我尝试用set JAVA_OPTIONS=-da -Dplatform.home=C:\bea10\WLSERV~1.0 -Dwls.home=C:\bea10\WLSERV~1.0\server -Dweblogic.home=C:\bea10\WLSERV~1.0\server -Dwli.home=C:\bea10\WLSERV~1.0\integration -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false 来覆盖这个这个参数,但他就是不认,后来我火了就直接把启动命令中的JAVA_OPTIONS这个参数去掉,然后这这一段文字直接写进去,解决了。
(2)其他机器我看了,也是多余这两个参数,但其他机器就不死,我郁闷。。。
最后再给大家一个诊断这类问题的建议,当启动时的问题比较复杂时,干脆直接把startWeblogic.cmd中的
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS%
整行替换成最简单的
C:\bea10\JROCKI~1\bin\java weblogic.Server
只包含绝对路径的JAVA和需要执行的class名字,我测试过,正常情况下,能跑让你输入这个DOMAIN的用户名和密码那,说明你的JAVA是正常的.然后再一个一个加参数就好了.
不够BT的情况下不需要这么暴力 ^_^