在使用 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就不会有这种事。高手谁能解答一下,不胜感激。