weblogic10.3.6 自动启动服务后停止的解决方案
windows部署weblogic后,需要手动开启weblogic管理员服务器,即Start Admin Server for Weblogic Server Domain,不过这样的话每次重启或者不小心就关掉了cmd窗体,很不方便。幸好weblogic本身可以实现通过windows服务自动启动weblogic管理员服务器。
Weblogic的版本为10.3.6,在用installSvc.cmd安装服务后,自动启动服务时,提示如下 服务自动停止的错误。
安装服务的具体操作如下
编辑安装目录 C:\Oracle\Middleware\wlserver_10.3\server\bin里的installSvc.cmd文件,在
rem *** Install the service "%WL_HOME%\server\bin\beasvc" -install -svcname:"beasvc %DOMAIN_NAME%_%SERVER_NAME%" -javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%" -maxconnectretries:"%MAX_CONNECT_RETRIES%" -host:"%HOST%" -port:"%PORT%" -extrapath:"%EXTRAPATH%" -password:"%WLS_PW%" -cmdline:%CMDLINE%
代码前面 加上以下几句话
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45
set DOMAIN_NAME=BASE_DOMAIN set SERVER_NAME=AdminServer set USERDOMAIN_HOME=C:\Oracle\Middleware\user_projects\domains\base_domain set WLS_USER=weblogic set WLS_PW=Pass@word1
JAVA_HOME即java JDK的安装目录,DOMAIN_NAME即weblogic server的域的名称(登录weblogic查看域),SERVER_NAME即weblogic 服务器的实例的名称(登录weblogic查看服务器),USERDOMAIN_HOME即当前登录用户域所在目录,WLS_USER和WLS_PW是登录weblogic的用户名和密码。
加上之后,以管理员身份打开cmd命令窗口,执行以下命令(每一行是一条命令)
cd C:\Oracle\Middleware\wlserver_10.3\server\bin
installSvc.cmd
之后在启动时,就遇上面图中的错误,现在说一下解决方案:
首先呢,在命令窗口执行如下命令(每一行是一条命令),进行服务的启动调试
cd C:\Oracle\Middleware\wlserver_10.3\server\bin
beasvc -debug "beasvc BASE_DOMAIN_AdminServer"
这时系统会提示服务启动不了得具体原因,如下图所示
这是提示unable to locate java.dll in c:\program files\java\jdk1.7.0_45\bin\jre\bin!,看黑色加粗部分我们可知,是我们的java环境路径不对,我们在installSvc.cmd里面搜索JAVA_HOME 发现JAVA_HOME变量让我设置错了,多加了一个bin,具体如下代码
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45\bin
重新安装服务,运行beasvc -debug "beasvc BASE_DOMAIN_AdminServer"命令后,发现如下错误
这是我们注册表注册服务的时候出了问题,regedit打开注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\beasvc BASE_DOMAIN_AdminServer\Parameters,在CmdLine这个属性处,我们发现有个-client,具体如下图
编辑此属性,去除-client,重新运行服务,发现一切正常了.
另外今天(2014-3-14)在注册另一台机器weblogic的windows服务的时候,报这个错误
然后按要求打开注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\beasvc BASE_DOMAIN_AdminServer\Parameters,把cmdline的-client去掉后,还是不可以,然后发现JAVAHOME的键值有些异常,如下图所示
果断去掉JAVAHome键值中路径的set beasvc……的值,重启服务,但过了一会还是自动停止。 于是卸载掉服务,重新安装,发现在安装文件installsvc.CMD里有句话写错了,具体如下
换行后,正常。
卸载服务
卸载此服务命令的方法如下,找到C:\Oracle\Middleware\wlserver_10.3\server\bin里的uninstallSvc.cmd
编辑里面的
"%WL_HOME%\server\bin\beasvc" -remove -svcname:"beasvc %DOMAIN_NAME%_%SERVER_NAME% 修改为
"%WL_HOME%\server\bin\beasvc" -remove -svcname:"beasvc BASE_DOMAIN_AdminServer"
(beasvc BASE_DOMAIN_AdminServer为你的服务名)
在命令窗口运行如下命令(每一行是一条命令),
cd C:\Oracle\Middleware\wlserver_10.3\server\bin
uninstallSvc.cmd