笔者部署weblogic时候,jdk为jdk1.7.0_79;
后来升级jdk为:1.8.0_66
再次启动admin server,报:
The JRE was not found in directory C:\Java\jdk1.7.0_79. (JAVA_HOME)
Please edit your environment and set the JAVA_HOME
variable to point to the root directory of your Java installation.
原因是weblogic有些配置脚本中,JAVA_HOME写死了;
解决方法一定是修改weblogic启动脚本中的JAVA_HOME;
但是weblogic启动涉及的配置脚本众多,很容易遗漏,笔者一一梳理:
(1)当前jdk为:1.8.0_66信息为:
C:\opt\oracle\Middleware\user_projects\domains\sip_domain>javac -version
javac 1.8.0_66
C:\opt\oracle\Middleware\user_projects\domains\sip_domain>echo %JAVA_HOME%
C:\Program Files (x86)\Java\jdk1.8.0_66
C:\opt\oracle\Middleware\user_projects\domains\sip_domain>
(2)weblogic相关路径为:
MW_HOME=C:\opt\oracle\Middleware
DOMAIN_HOME=C:\opt\oracle\Middleware\user_projects\domains\sip_domain
解决步骤:
1. 修改wls全局的配置脚本commEnv.cmd(作用全部domain下全部server实例)
位置:%MW_HOME%\wlserver_10.3\common\bin\commEnv.cmd
修改脚本:
@rem Reset JAVA Home
set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_66
FOR %%i IN ("%JAVA_HOME%") DO SET JAVA_HOME=%%~fsi
2. 修改各domain的配置脚本setDomainEnv.cmd(只作用当前domain下的所有server实例)
位置:%MW_HOME%\user_projects\domains\sip_domain\bin\setDomainEnv.cmd
修改脚本:
set BEA_JAVA_HOME=
set SUN_JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_66
if "%JAVA_VENDOR%"=="Oracle" (
set JAVA_HOME=%BEA_JAVA_HOME%
) else (
if "%JAVA_VENDOR%"=="Sun" (
set JAVA_HOME=%SUN_JAVA_HOME%
) else (
set JAVA_VENDOR=Sun
set JAVA_HOME=%SUN_JAVA_HOME%
)
)
set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_66
for %%i in ("%JAVA_HOME%") do set JAVA_HOME=%%~fsi