Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file Weblogic12-启动管理服务器引发语法错误_Batch File_Cmd_Weblogic - Fatal编程技术网

Batch file Weblogic12-启动管理服务器引发语法错误

Batch file Weblogic12-启动管理服务器引发语法错误,batch-file,cmd,weblogic,Batch File,Cmd,Weblogic,我对Weblogic12有一个大问题。我试着运行管理服务器,命令行在没有任何信息的情况下消失了。所以我对它进行了深入的调试,shortenpath.cmd文件中出现了一个问题,看起来像: @rem ************************************************************************** @rem This script is used to shorten CLASSPATH and PATH environmental variabl

我对Weblogic12有一个大问题。我试着运行管理服务器,命令行在没有任何信息的情况下消失了。所以我对它进行了深入的调试,shortenpath.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是怎么回事。我没有做任何事情,只是尝试测试我的应用程序,我无法启动它。两天前,它工作正常,没有任何问题。最能反映问题的是,为什么Weblogic脚本中的命令行抛出错误,而我自己的脚本中也出现了同样的情况。我找到了解决方案。Path环境变量存在问题。当我使用GUI检查它时,当我在控制台中打印它时,它们是不同的。在控制台系统中,添加microsoft.net framework的路径,该路径末尾包含导致问题的引号。最重要的是,当我使用GUI向Path添加某些内容并将其删除时,microsoft.net不再有奇怪的路径,它开始正常工作…

因为您怀疑类路径,你先设置类路径,比如说执行setDomainEnv.sh,然后启动管理服务器,我假设你使用的是startWebLogic.sh,没错,我使用startWebLogic.cmd启动weblogic,但是命令行消失了,所以我开始调试它,我停止了这个问题。这很奇怪,因为我没有用它做任何事情,它只是停止了工作。startWebLogic.cmd调用setDomainEnv.cmd,它调用另一个我不记得的文件,现在无法检查它,因为我没有工作,这个文件名为shortenPath.cmd,这导致了这个问题。如果这些文件是Oracle提供的,如果它们不工作,那将是非常奇怪的——除非它们已经被更改了……但是我想你已经确认没有任何更改。是的,因为你在Windows上,它的.cmd不是.sh!两天前,它工作得很好,我只是没有对它做任何事情,因为我没有使用java,所以我不必部署应用程序。现在我必须检查一些东西,并试图像以前一样启动服务器,没有任何更改,但它不工作。我想知道是否有任何更新可能会造成一些问题