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