weblogic修改jdk版本遇到的问题与解决方法
1.修改setDomainEnv ,路径.../domains/xx_domain\bin\
1.1修改JAVA_HOME为需要修改的路径
注意:BEA_JAVA_HOME路径不需修改
2.修改路径后重新启动,错误Unrecognized option: -jrockit
解决办法:“%WL_HOME%\common\bin\commEnv.cmd”
–> D:\oracle\Middleware\wlserver_10.3\common\bin\commEnv.cmd
if "%PRODUCTION_MODE%" == "true" goto oracle_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms128m -Xmx256m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
if "%PRODUCTION_MODE%" == "true" goto oracle_prod_mode
set JAVA_VM=-server
set MEM_ARGS=-Xms128m -Xmx256m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
3.weblogic启动报<BEA-090782>错误
错误描述:部署weblogic启动时输入username报错
解决办法:
在domains\***\servers\AdminServer\security\目录下创建boot.properties 文件,内容为
username = 你的weblogic用户名
password = 你的weblogic密码
4.com.ctc.wstx.exc.WstxIOException:java.sun.com 错误
错误描述:内网环境下无法联网对tld文件进行验证
解决办法:找到startWeblogic.sh/startWeblogic.bat文件,修改JAVA_HOME
修改前:
JAVA_OPTIONS="${SAVE_JAVA_OPTIONS}"
修改后:
JAVA_OPTIONS="${SAVE_JAVA_OPTIONS}-Djavax.xml.stream.XMLInputFactory=weblogic.xml.stax.XMLStreamInputFactory"
注意:-应该与前面内容留一个空格
5.Exception in thread "Timer-1"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in....
错误描述:字面理解内存不足,
解决方案:可以在weblogic中设置setDomainEnv.sh :
参数 MEM_ARGS="-Xms512m -Xmx512m -XX:MaxPermSize=512m"
最终成功解决!!
其中,-XX:+AggressiveHeap:
让JVM自动根据机器的内存和CPU数优化各种参数,通常内存会使用机器的最大物理内存。
同时也产生了hs_err_pid23131.log
说明:java的应用有时候会因为各种原因Crash,这时候会产生一个类似java_errorpid.log的错误日志。
在该日志中发现了如下信息:
PSPermGen total 65536K, used 65535K [0x6e0c0000, 0x720c0000, 0x720c0000)
object space 65536K, 99% used [0x6e0c0000,0x720bffc0,0x720c0000)
上面的信息能看出在Crash的时候,JVM的PermSize空间几乎已经消耗完了。因此,建议扩大PermSize和MaxPermSize的数值。