我对WebLogic12有很大的问题。我试图运行管理服务器,但命令行没有任何信息就消失了。所以我对它进行了更深入的调试,shortenpaths.cmd文件中出现了一个问题,如下所示:
@rem **************************************************************************
@rem This script is used to shorten CLASSPATH and PATH environmental variables.
@rem
@rem Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
@rem **************************************************************************
if NOT "%CLASSPATH%"=="" (
call :handle_classpath
)
if NOT "%PATH%"=="" (
call :handle_path
)
goto :EOF
:handle_classpath
pause
set __SHORT_CLASSPATH__=
call :process_classpath "%CLASSPATH%"
set CLASSPATH=%__SHORT_CLASSPATH__%
goto :EOF
:handle_path
set __SHORT_PATH__=
call :process_path "%PATH%"
set PATH=%__SHORT_PATH__%
goto :EOF
:process_classpath
FOR /F "TOKENS=1,* DELIMS=;" %%a IN (%1) DO (
if NOT "%%a"=="" (
if exist "%%a" (
call :add_to_classpath %%~fsa
)
)
if NOT "%%b"=="" (
call :process_classpath "%%b"
)
)
goto :EOF
:add_to_classpath
if NOT "%1"=="" (
if NOT "%__SHORT_CLASSPATH__%"=="" (
set __SHORT_CLASSPATH__=%__SHORT_CLASSPATH__%;%1
) else (
set __SHORT_CLASSPATH__=%1
)
)
goto :EOF
:process_path
FOR /F "TOKENS=1,* DELIMS=;" %%a IN (%1) DO (
if NOT "%%a"=="" (
if exist "%%a" (
call :add_to_path %%~fsa
)
)
if NOT "%%b"=="" (
call :process_path "%%b"
)
)
goto :EOF
:add_to_path
if NOT "%1"=="" (
if NOT "%__SHORT_PATH__%"=="" (
set __SHORT_PATH__=%__SHORT_PATH__%;%1
) else (
set __SHORT_PATH__=%1
)
)
命令行引发此错误:
if NOT "" == "" (call :handle_classpath )
The syntax of the command is incorrect.
所以我尝试在自己的脚本中模拟相同的if语句:
set CLASSPATH=""
if NOT "%CLASSPATH%"=="" (
echo "inside"
)
pause
结果是:
C:\Tools\Weblogic12\oracle_common\common\bin>if NOT """" == "" (echo "inside" )
"inside"
C:\Tools\Weblogic12\oracle_common\common\bin>pause
Press any key to continue . . .
我不知道这个网络逻辑是怎么回事。我没有做任何事情,只是试图测试我的应用程序,我无法启动它。两天前,它运行良好,没有任何问题。最能反映问题的是,为什么命令行在WebLogic脚本中抛出错误,而在我自己的脚本中,同样的情况也可以正常工作。