為MyEclipse啟動(dòng)app server指定jdk
在使用 MyEclipse 開(kāi)發(fā)J2EE程序時(shí),直接在IDE下啟動(dòng)應(yīng)用服務(wù)器是非常方便的,這個(gè)功能讓我們不必非要去找特定應(yīng)用服務(wù)器的控制臺(tái)啟動(dòng)方法,對(duì)新的服務(wù)器快速上手是相當(dāng)有用。
1. 如果你剛從tomcat里轉(zhuǎn)過(guò)來(lái)用了glassfish , 會(huì)發(fā)現(xiàn)控制臺(tái)是費(fèi)解的,asadmin只能用來(lái)啟動(dòng)服務(wù)器,但是控制臺(tái)的各種消息(最簡(jiǎn)單的如System.out.println()打出來(lái)的東西)卻看不到,總不能為了查看運(yùn)行消息而跑到log文件去看吧。至于命令行下的控制臺(tái)究竟怎么啟動(dòng)我從來(lái)都沒(méi)搞清楚,太笨,但無(wú)罪吧,為了啟動(dòng)一個(gè)雞肋一樣的控制臺(tái)看一整天的文檔?
2. MyEclipse可以為每個(gè)在IDE里啟動(dòng)的應(yīng)用服務(wù)器指定JDK,這個(gè)我覺(jué)得超方便了,雖然剛開(kāi)始做東西的時(shí)候沒(méi)有察覺(jué),但手頭要應(yīng)付的app server 一多起來(lái),JDK的版本問(wèn)題是足以讓人吐血的。舉個(gè)例子,weblogic9.2自帶一個(gè)jdk1.5.10, 還有一個(gè)jRokit, 你必須要在MyEclipse里面為這個(gè)weblogic指定它自帶的jdk,否則運(yùn)行起來(lái)問(wèn)題多得要人命。在控制臺(tái)啟動(dòng)app server 就很不方便,如不指定環(huán)境變量參數(shù),就只能以windows環(huán)境變量里的jdk和java home來(lái)運(yùn)行。
最近剛被一個(gè)問(wèn)題搞到焦頭爛額,用glassfish做EJB服務(wù)器的,在MyEclipse下,EJB3.0的項(xiàng)目倒是沒(méi)問(wèn)題,EJB2.0的應(yīng)用程序卻怎么也部署不了,把該EJB2.0項(xiàng)目代碼和 XML 拷貝到NetBeans下卻正常部署。開(kāi)始還懷疑是MyEclipse下該項(xiàng)目的編譯jdk和j2ee庫(kù)版本不對(duì),全部換成跟NetBeans下一樣了,問(wèn)題依舊。終于懷疑到MyEclipse啟動(dòng)glassfish時(shí)使用的jdk是否有問(wèn)題,大開(kāi)server設(shè)置看到,jdk是MyEclipse自帶的,雖然自稱***兼容jdk1.5,但它是最可疑的,于是換成“經(jīng)典”的jdk1.5.15(說(shuō)經(jīng)典,其實(shí)是說(shuō)當(dāng)前的老系統(tǒng)就是一直用它的,不消說(shuō),一定要從sun直接下載來(lái)的標(biāo)準(zhǔn)jdk,不能用容器自帶的那種)。OK, 一切搞定!
遺留問(wèn)題:在用MyEclipse啟動(dòng)glassfish后,如果這時(shí)打開(kāi)glassfish的JSF控制臺(tái)管理界面(登錄后才算),MyEclipse的Console里面會(huì)出現(xiàn)IO錯(cuò)誤信息,說(shuō)是找不到config.xml這個(gè)文件。這不是開(kāi)玩笑么,那個(gè)文件豈不是好端端地躺在glassfish的正確目錄下么。但是在NetBeans下面啟動(dòng)glassfish就不會(huì)有這種事。高手誰(shuí)能解答一下,不勝感激。