一.環境說明
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測試順利!