windows部署weblogic后,需要手动开启weblogic管理员服务器,并且还有一个cmd窗口十分影响使用,在服务运行时需要打印大量的必要日志,如果cmd开着也影响服务新能。因为想把weblogic在window实现自动启动和后台挂起。幸好weblogic本身可以实现通过windows服务自动启动weblogic管理员服务器。通过百度借鉴大量友友们的成果得以实现(感谢 https://www.cnblogs.com/flowwind/p/3574574.html),先把整个过程记录。
安装的weblogic是10.3版本
一、安装服务
1.1 在发布服务域下面新建文件 server.cmd 并添加如下内容
echo off SETLOCAL set DOMAIN_NAME=base_domain set SERVER_NAME=AdminServer set USERDOMAIN_HOME=D:\Oracle\Middleware\user_projects\domains\base_domain set WLS_USER=weblogic set WLS_PW=weblogic11 set PRODUCTION_MODE=true set MEM_ARGS=-Xms512m –Xmx512m set PORT=7001 cd %USERDOMAIN_HOME% call %USERDOMAIN_HOME%\bin\setDomainEnv.cmd call "D:\Oracle\Middleware\wlserver_10.3\server\bin\installSvc.cmd" ENDLOCAL
DOMAIN_NAME即weblogic server的域的名称(登录weblogic查看域),SERVER_NAME即weblogic 服务器的实例的名称(登录weblogic查看服务器),USERDOMAIN_HOME即当前登录用户域所在目录,WLS_USER和WLS_PW是登录weblogic的用户名和密码。
1.2 执行脚本
打开cmd命令窗口,切换到对应的域下面执行新建的 server.cmd,命令如下
cd D:\Oracle\Middleware\user_projects\domains\base_domain call server.cmd
1.3 运行服务
在window服务管理里面启动服务
问题来了,我在启动服务的时候,出现了如下提示
解决方案:
首先呢,在命令窗口执行如下命令(每一行是一条命令),进行服务的启动调试
cd D:\Oracle\Middleware\wlserver_10.3\server\bin\
beasvc -debug "beasvc BASE_DOMAIN_AdminServer"
这时系统会提示服务启动不了得具体原因,如下图所示
然后按要求打开注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\beasvc BASE_DOMAIN_AdminServer\Parameters,把cmdline的-client去掉后,还是不可以,然后发现JAVAHOME的键值有些异常,如下图所示
编辑此属性,去除-client,重新运行服务,发现一切正常了。
二、卸载服务
卸载此服务命令的方法如下,找到 D:\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