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
