使用Eclipse对weblogic进行远程调试
一.环境说明
weblogic12c,linux centOS 6.5,eclipse mars。
二.步骤
1.找到weblogic根目录下user_projects/domains/域名/bin/setDomainEnv.sh文件
2.找到这个文件后,可以使用nano setDomainEnv.sh命令对文件进行修改(vi编辑器亦可),加入红框中的代码
用“#”开头的是注释
debugFlag="true",这句就是shell命名中为变量debugFlag赋值,注意等号左右不要有空格
export debugFlag,这句是将debugFlag声明为环境变量,可以不需要
3.重启weblogic
ps -ef|grep java
红框中是进程的pid,拿到这个pid后
kill -9 26793
这样就杀掉了weblogic的进程(相当于关闭weblogic),之后启动weblogic
nohup ./startWeblogic.sh & tail -f nohup.out
执行后能看到weblogic在命令行中输出启动信息
4.设置eclipse
Name 是服务器的别名,随便叫什么都行
Project 是你要调试的工程名
Host 是服务器的ip
Port 默认是8453,除非你改了weblogic的调试端口,不然就是这个(注意开启linux的防火墙设置,不然tcp/ip连接不上)
至此,我们就能通过在本地eclipse中打断点来调试远程weblogic上的代码了。这对我们sit测试来说非常的省时省力。因为出现bug时不需要重新部署工程,能直接在本地调试。
三.补充说明
很多blog里说,当开启了debug模式后,能在命令行里看到输出Listening for transport dt_socket at address:8453,,,可是,每次启动时输出的大量信息,要去找这句话真的比较难,反正我是一次都没看到过。
所以我想到了另一个方法:
修改startWeblogic.sh文件(nano startWeblogic.sh)
加上了红框中的代码后,就能清晰的知道是否开启了debug模式。这也是为什么我要将setDomainEnv.sh中的debugFlag声明为环境变量。
/*** 2016-04-13补充 ***/
我竟然看到了启动信息,在这里:
/*** 2016-04-13补充 ***/
四.总结
其实weblogic早就为我们准备好了debug模式的参数设置,它只需要一个标识来启动它,所以我们要将debugFlag="true",本质上来说,就是shell中为一个变量赋值。
另外,linux下shell命令和windows下批处理命令是不一样,所以赋值语句也不一样,大家需要区分。
祝大家sit测试顺利!