[Weblogic]startWebLogic.cmd配置JAVA_OPTIONS无效的解决思路与方案
2016-05-06 09:42
357 查看
事情背景:
由于某个项目原因,需要在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、在设置这些值的时候最好能做好记录,以免他人设置时能知道前人的设置。
由于某个项目原因,需要在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、在设置这些值的时候最好能做好记录,以免他人设置时能知道前人的设置。
相关文章推荐
- 解决eclipse的 Invalid project description. overlaps the location of another project: 问题
- 举例讲解设计模式中的访问者模式在Java编程中的运用
- java环境变量配置。
- eclipse中maven环境部署以及使用
- java中>> 和 >>>的区别
- Hbase创建表报错:ERROR: java.io.IOException: Table Namespace Manager not ready yet, try again later
- 【行为型模式】状态模式(state)之23种java设计模式
- java接口可以多继承
- Spring MVC的基础知识
- Java 格式化输出
- Android NDK报错(Eclipse)及解决方法
- ssh hibernate struts spring 工作原理及为什么要用
- float转16进制, 16进制转float(java )
- Eclipse批量修改包名
- spring boot 连接池配置
- 使用spring web.xml里的配置 - 请求处理器DispatcherServlet
- struts 拦截器设置防止表单的重复提交
- 【行为型模式】模板方法模式(template method)之23种java设计模式
- 《java入门第一季》之面向对象(重头戏多态)
- 《java入门第一季》之面向对象(重头戏多态)