[英]creating script weblogic windows service
我創建了一個腳本,可以在計算機啟動后自動啟動Weblogic。 我的腳本是:
echo off
SETLOCAL
set DOMAIN_NAME=new_domain
set USERDOMAIN_HOME=C:\Users\erick\Desktop\Materials\apps\weblogic_12c\user_projects\domains\new_domain
set SERVER_NAME=myserver
set WLS_USER=xxxxx
set WLS_PW=xxxxxx
call "C:\Users\erick\Desktop\Materials\apps\weblogic_12c\wlserver\server\bin\installSvc.cmd"
pause
ENDLOCAL
該腳本在domains \\ new_domain \\ config文件夾下創建。
我的installSvc.cmd看起來像這樣:(我沒有做任何更改。因此是weblogic安裝程序創建的)
@echo off
SETLOCAL
set WL_HOME=%MW_HOME%\wlserver
call "%WL_HOME%\common\bin\commEnv.cmd"
@rem Check that the WebLogic classes are where we expect them to be
:checkWLS
if exist "%WL_HOME%\server\lib\weblogic.jar" goto checkJava
echo The WebLogic Server wasn't found in directory %WL_HOME%\server.
echo Please edit your script so that the WL_HOME variable points
echo to the WebLogic installation directory.
goto finish
@rem Check that java is where we expect it to be
:checkJava
if exist "%JAVA_HOME%\bin\java.exe" goto runWebLogic
echo The JDK wasn't found in directory %JAVA_HOME%.
echo Please edit your script so that the JAVA_HOME variable
echo points to the location of your JDK.
goto finish
:runWebLogic
@rem the service loads dll file, so the JAVA_VM *must* be correct
if exist %JRE_HOME%\bin\client (
set JAVA_VM=-client
) else if exist %JRE_HOME%\bin\server (
set JAVA_VM=-server
) else if exist %JRE_HOME%\bin\jrockit (
set JAVA_VM=-jrockit
)
:noResetJavaVM
if not "%MEM_ARGS%" == "" goto noResetMemArgs
set MEM_ARGS=-Xms32m -Xmx200m
:noResetMemArgs
@echo on
set CLASSPATH=%WEBLOGIC_CLASSPATH%;%CLASSPATH%
@echo ***************************************************
@echo * To start WebLogic Server, use the password *
@echo * assigned to the system user. The system *
@echo * username and password must also be used to *
@echo * access the WebLogic Server console from a web *
@echo * browser. *
@echo ***************************************************
rem *** Set Command Line for service to execute within created JVM
@echo off
if "%ADMIN_URL%" == "" goto runAdmin
@echo on
set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -classpath \"%CLASSPATH%\" -Dweblogic.Name=%SERVER_NAME% -Dweblogic.management.username=%WLS_USER% -Dweblogic.management.server=\"%ADMIN_URL%\" -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy=\"%WL_HOME%\server\lib\weblogic.policy\" weblogic.Server"
goto finish
:runAdmin
@echo on
set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -classpath \"%CLASSPATH%\" -Dweblogic.Name=%SERVER_NAME% -Dweblogic.management.username=%WLS_USER% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy=\"%WL_HOME%\server\lib\weblogic.policy\" weblogic.Server"
:finish
rem *** Set up extrapath for win32 and win64 platform separately
set WLSVC_EXE_TO_USE=wlsvcx64
if "%WL_USE_X86DLL%" == "true" (
set EXTRAPATH=%WL_HOME%\server\native\win\32;%WL_HOME%\server\bin;%JAVA_HOME%\jre\bin;%JAVA_HOME%\bin;%WL_HOME%\server\native\win\32\oci920_8
set WLSVC_EXE_TO_USE=wlsvc
)
if "%WL_USE_IA64DLL%" == "true" (
set EXTRAPATH=%WL_HOME%\server\native\win\64\;%WL_HOME%\server\bin;%JAVA_HOME%\jre\bin;%JAVA_HOME%\bin;%WL_HOME%\server\native\win\64\oci920_8
set WLSVC_EXE_TO_USE=wlsvc64
)
if "%WL_USE_AMD64DLL%" == "true" (
set EXTRAPATH=%WL_HOME%\server\native\win\x64\;%WL_HOME%\server\bin;%JAVA_HOME%\jre\bin;%JAVA_HOME%\bin;%WL_HOME%\server\native\win\x64\oci920_8
set WLSVC_EXE_TO_USE=wlsvcx64
)
rem *** Install the service
"%WL_HOME%\server\bin\%WLSVC_EXE_TO_USE%" -install -svcname:"wlsvc %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%
ENDLOCAL
當我執行第一個腳本時,它將創建Windows服務。 由於某種原因,它將創建為wlsvc new_domain_myserver,因此名稱中有一個空格。 當我嘗試啟動該服務時,它給我一個錯誤,提示它無法啟動。 我究竟做錯了什么?
在最后一行附近,它顯式調用:
rem *** Install the service
"%WL_HOME%\server\bin\%WLSVC_EXE_TO_USE%" -install -svcname:"wlsvc %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%
您的問題與名稱無關。 服務名稱中的空格沒有問題。 從“開始”菜單打開“ Services
...大多數名稱帶有空格。
提示服務無法啟動的錯誤很可能與您與CMDLINE
。 您可以發布命令的完整輸出嗎? 它是否完全嘗試啟動weblogic? 如果沒有(沒有日志文件),那么絕對是錯誤的命令行。
手動運行.cmd
文件。 在-install
之前的最后一行添加-debug
以獲取更多輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.