[Weblogic]startWebLogic.cmd配置JAVA_OPTIONS无效的解决思路与方案

事情背景:

由于某个项目原因,需要在2个域的startWebLogic.cmd文件加入如下设置

set JAVA_OPTIONS=%JAVA_OPTIONS% -javaagent:"path\xx.jar"

同样的设置,一个域成功,一个域失败。失败的域在启动weblogic时发现jar包无加载成功,同时亦无日志输出报错。

原因寻找思路:

1、首先添加确保语句正确无误

2、从startWebLogic.cmd文件下手,一个一个调用看,看看那里出错。

@REM Call setDomainEnv here.
set JAVA_OPTIONS=%JAVA_OPTIONS% -javaagent:"path\xx.jar"         --添加的语句,已确保无误

set DOMAIN_HOME=f:\Oracle\Middleware\user_projects\domains\base_domain
for %%i in ("%DOMAIN_HOME%") do set DOMAIN_HOME=%%~fsi

call "%DOMAIN_HOME%\bin\setDomainEnv.cmd" %*

set SAVE_JAVA_OPTIONS=%JAVA_OPTIONS%

set SAVE_CLASSPATH=%CLASSPATH%

看着红色的语句是要读取setDomainEnv.cmd文件的配置,翻查到该文件,并发现以下语句:

set JAVA_OPTIONS= -DKF_APP_INST=F:\test\Test_Server\

问题已经浮出水面了:

按照执行顺序来看,我们在startWebLogic.cmd里先设置JAVA_OPTIONS的值,然后执行到setDomainEnv.cmd文件时,又设置一遍,导致之前设置的值被覆盖掉了,所以没有生效。

 

解决方法:

1、在setDomainEnv.cmd设置的语句加上=%JAVA_OPTIONS%,即:

set JAVA_OPTIONS==%JAVA_OPTIONS% -DKF_APP_INST=F:\test\Test_Server\

加上%JAVA_OPTIONS%简单来说就是累加的意思,代表之前已设置的值。

2、改变startWebLogic.cmd文件里设置JAVA_OPTIONS值的位置,将set JAVA_OPTIONS=%JAVA_OPTIONS% -javaagent:"path\xx.jar" 语句放到call "%DOMAIN_HOME%\bin\setDomainEnv.cmd" %*语句的后面即可。

建议:

1、set JAVA_OPTIONS的值的时候都要加上%JAVA_OPTIONS%,以防覆盖掉别人设置的值,这不单只set JAVA_OPTIONS,设置其他值也同理。

2、在设置这些值的时候最好能做好记录,以免他人设置时能知道前人的设置。

posted @   ouhy  阅读(7710)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示