一般来说在JavaEE应用程序的开发过程中,大家都习惯使用 Tomcat作为调试服务器,相应的在Eclipse IDE中调试Tomcat也很简单,可以下载tomcateclipse插件即可轻松方便的在IDE中调试应用(参见 com.sysdeo.eclipse.tomcat)。
但是,如果应用是企业级的,即需要EJB容器部署,Tomcat就无能为力了,这时候,我们可以选择JBoss AS作为调试服务器。
如何将应用自动构建并部署到JBoss的deploy目录中,在这里并不是讨论的重点,JBoss Seam-gen生成的工程带有在Eclipse中自动构建部署的Ant脚本,想了解可以参考之。
如果要在IDE中调试JBoss,我们需要先看看JBoss是如何启动的:以JBoss 4.2.X为例,在JBoss_Home/bin目录中的run.bat最后有如下两句,其实就是JBoss启动的关键所在:
"%JAVA%" %JAVA_OPTS% ^
-Djava.endorsed.dirs = "%JBOSS_ENDORSED_DIRS%" ^
-classpath "%JBOSS_CLASSPATH%" ^
org.jboss.Main %*
顺藤摸瓜,找出变量 %JBOSS_ENDORSED_DIRS% = JBoss_Home\lib\endorsed , %JBOSS_CLASSPATH% 就更好理解了,其实就是 JBoss_Home\lib 加上应用程序所需的classpath。
既然明白了原理,在Eclipse中设置一个launch吧,通过“Open Run Dialog ...”打开launch定义窗口,新建之。
在“Main class”中填写 org.jboss.Main ,当然,你需要将jboss-system.jar加入工程的classpath。然后在Arguments->VM arguments 中填写 -Djava.endorsed.dirs=D:\jboss-4.2.3.GA\lib\endorsed ,这样,就可以通过运行这个launch在IDE中启动JBoss应用服务器了。
最后,别忘了在SourceCode中设定源代码目录,方便的Debug。