Posted on 2007-01-17 17:09
itspy 阅读(9456)
评论(3) 编辑 收藏 所属分类:
JAVA技术
在Tomcat下开发一些项目时,不可避免的会用到针对Tomcat的插件来进行调试,目前我接触到的插件有如下三种,虽然它们都能对工程进行调试,它在一些其它功能上面却有其区别
Myeclipse:这个是最强大的Eclipse插件,差不多什么都有,是一个一站式的解决插件。
WTP(Web Tools Platform):是由Eclipse自己开发的插件。
TomcatPlugin(sysdeo):最老牌的Tomcat插件,也是最好用的。
- Myeclipse插件对Tomcat的支持看起来应该是最好的,特点是热部署。不管是对Servlet的修改,还是对web.xml的修改都可以。却可以做到,哪个变了,就加载哪个。它可以很方便的把你的工程直接发布到Tomcat中去,或者是以war的形式发布过去。
- WTP(Web Tools Platform)
:相对MyEclipse于,WTP则实现了部署的透明化,Myeclipse在启动Tomcat后,要你通过myEclipse把工程部署到Tomcat下,它会对你的Tomcat目录下添加一些文件。但是WTP则对你的Tomcat不会有任何修改。
但我也发现了使用WTP 部署Web工程时的一个问题,对web.xml文件的修改不会自动的被重新加载,但更改Servlet会重新加载Servlet,并且同时重新加载web.xml。
也就是你想重新加载web.xml,你只有佯装修改一个Servlet,才能触发重新加载web.xml。不知道以后的版本会不会修改这点。
- TomcatPlugin(sysdeo):最老牌的tomcat插件了,相对来说在Tomcat调试领域也是最好用的了,不过它有点与WTP一样,无法自动加载web.xml变化。但它也有它的绝招,是另外两个插件不能比的。它有两种支持调试的方式:
- 建立Tomcat工程,这时可以使用热部署,tomcatPlugin(sysdeo)由于它并不真正的部署工程,使用TomcatPlugin(sysdeo)添加一个工程时,实际上在Tomcat\conf\Catalina\localhost目录下添加了一个文件,当Tomcat启动时就会加载这个工程,这时当然也可以调试。
- 另外一种支持调试的功能是其它两个插件没有的,比如你的工程是通过ANT布置到Tomcat下去的,你的目录结构无法满足WTP与Myeclipse的要求,这时你没有办法来使用这两个插件来进行调度,但是使用TomcatPlugin却可以。你只要在设置window->preferences->tomcat->soure path即可。
个人Blog: http://www.blogjava.net/itspy
插件的适应环境:
如果没有特别的原因,应该尽量选择TomcatPlugin(sysdeo)。
- 如果是一个全新的项目,上级完全放权了,你可以使用myEclipse与WTP,因为它能实现热部署,调度修改代码十分方便。但它们相对Tomcat来说,一个是侵入式的,一个却是无侵入的。你可以针对这个特点来在两者之间进行选择。
- 如果是一个已经有一定历史积累的工程,或者是无法对目录结构进行控制的工作,这时推荐使用使用TomcatPlugin(sysdeo)。
因为myEclipse与WTP对工程对目录结构都有一定的要求,因为它们要把工程部署到Tomcat上去,所以对工程目录结构上都有自己的要求。比如在哪放置WEB-INFO,在哪个目录放置源文件,并且两个插件之间的工程无法形成兼容与共享。
但是TomcatPlugin(sysdeo)只是充当一个外挂来启动Tomcat,并把指定的源代码与Tomcat里面运行的项目关联起来,进行调试。所以它对目录结构没有要求,比较适应于无法对目录结构进行控制的项目,一个普通的Java工程即可以。
个人Blog: http://www.blogjava.net/itspy