原版的Eclipse自带WTP,WTP本身的Web应用服务器管理功能还可以,但有些复杂。
要想把它用顺手,还要花点时间来学习一下。学会后还算方便的。
目前还未找到十分好用的Eclipse下的管理Tomcat的插件。
有一个老处于插件TomcatPlugin V321,只能管理一个Tomcat,数量上不够用。
所以用好Eclipse自带WTP也是一条出路。
(本文是Eclipse 3.6 J2EE版)
?
?
一、WTP本身的Web应用服务器管理功能
----------------------------------------
?
WTP支持几乎所有Web应用服务器,支持的Web应用服务器种类请看下图。
?
?
如果不包括你想要的Web应用服务器,可以点击图片中的“Download additional serer adapters”添加支持其它的Web应用服务器,种类很丰富。
?
WTP本身的Web应用服务器管理功能功能挺多,相驾驭它还是有点复杂的,下面就学习如何驾驭它。
使用它来发布我的web应用程序到Tomcat中并运行起来,停止、重起、调试模式启动Tomcat、清理再发布,等等。
?
?
?
?
二、安装Tomcat
----------------------------------------
1、解压两个解压版的Tomcat6,到本地硬盘。
并行项目多,JNDI数据源不同,所以在使用两个Tomcat
JDK,和JAVA_HOME环境变量已正确配置
具体操作,略。
?
2、在Eclipse中配置上这两个Tomcat,如下图:
?
?
?
三、创建Wtp的Tomcat管理配置项目
----------------------------------------
打开Eclipse的Servers视图。在空白处右击,选“New”--"Server",用于创建Wtp的Tomcat管理配置。
?
我这里,添加了两个 Wtp的Tomcat server管理配置项目。
删除? Wtp的Tomcat server管理配置项目时, 要停止所有的Tomcat server 才能成功,不然有报错,有残留。
?
同时在“包视图”也多了一个叫Servers的“项目”,它与我们自己开发的项目是并列的。其中Tomcat的配置文件都在这里。已后想修改Tomcat的配置文件,就应该在这里修改,不要直接修改原Tomcat安装目录的配置文件。
我们按Servers视图中的“Publish to the server”按钮,就会把Eclipse管理的Tomcat的配置文件,同步到物理Tomcat的目录中。
分两中情况:
1、把Eclipse管理的Tomcat的配置文件,同步到Tomcat的物理安装目录中。
2、把Eclipse管理的Tomcat的配置文件,同步到一个Eclipse的深层目录(很深),Tomcat使用这份配置文件启动,而不修改原Tomcat安装目录的配置文件。
我们在最后面选择了 第1种。
?
“包视图”中这个叫Servers的“项目”是可以删除的,当发生了删除 Wtp的Tomcat server管理配置项目失败,而有残留时,请删除“包视图”中这个叫Servers的“项目”。在新建 Wtp的Tomcat server管理配置项目 时,又会再出来。
?
?
?
四、配置 Wtp的Tomcat server管理配置项目
----------------------------------------
在Servers视图中, 双击新添加的 Wtp的Tomcat server管理配置项目,打开如下界面:
看上图中, 几个红色部分是重点。
?
默认情况是:
如果不修改这里而使用默认值 ,也是可以发布web应用程序到Tomcat并启动运行的。使用默认值的结果是:
把Eclipse管理的Tomcat的配置文件,同步到一个Eclipse的目录(很深),Tomcat使用这份配置文件启动,而不修改原Tomcat安装目录的配置文件。
“发布项目”时,会copy一份编译好的项目代码到\.metadata\.plugins\org.eclipse.wst.server.core\tmpN\wtpwebapps\目录 。
?
?
我们要改成:
这里我们要修改它的,强化对Tomcat的控制力。有时我们还要进入 Tomcat的物理安装目录做一些工作呢。要改成:
把Eclipse管理的Tomcat的配置文件,同步到Tomcat的物理安装目录中conf目录,覆盖原Tomcat安装目录的conf目录的配置文件,加强对Tomcat的控制。
“发布项目”时,会copy一份编译好的项目代码到Tomcat的物理安装目录的webapps目录 。
?
注意:
大家看上图, 几个重点选项是灰色的不可操作,是因为 Wtp的Tomcat server管理配置项目 中有已发布的项目。
先清理先前发布过的项目,就可以操作了。按照图片中的样子修改,就达到目的了。
?
?
?
五、运行管理
--------------------------
在Servers视图中, 右击 Wtp的Tomcat server管理配置项目,弹出菜单如下:
可进行Tomcat的运行管理。
?
?
?
重启不用先停止 ,直接按启动就行。
下图中的红线框住的一个“服务器”图标,是“Publish to the server”,是发布Tomcat配置文件用的,很重要,很重要。
?
?
六、不能发布项目问题的解决
----------------------------------
只有“动态的Web项目”才可以“发布”到tomcat中,如果你的项目不能“发布”,说明不是“动态的Web项目”。
按如下调整:
鼠标右击项,选中properties,弹出如下窗口,按下图操作,设置为“动态的Web项目”。
如果在编译时, 报错“找不到目标运行时”,也按下图,设置“目标运行时”。就可以了。
?
?
?
?
?
?
?
Update Site - http://run-jetty-run.googlecode.com/svn/trunk/updatesite
注意:以上所说“发布项目”,其实是在Tomcat的Server.xml配置文件中加入以下一行。
<Context docBase="registration-main" path="/registration-main" reloadable="true" /></Host>
并没有真正的copy文件,只是“指过来”
发布的只有“配置文件”
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/TMSP" docBase="F:\code\ws\TMSP\WebContent" reload="true" >
</Context>
path是项目的上下文件路径,客户端使用http://localhost:8080/TMSP进行访问。
docBase是项目开发时所在的目录。
用这种方式配置项目,可以把Eclispe和tocmact集成起来,在Eclipse上启动tomcat。每次修改项目后都不用重新发布,而且支持热启动,修改代码保存后,tomcat自动重新加载项目,可以很方便看到修改后的效果。
修改了class发布要重启,关联项目的class不会自动发布,等等,现在一直在用一楼的run,除了jetty和tomcat有极少差别之外,这个插件不得说是现在最方便的!!
tomcat下有一款就更好了!!
不知博主有何特殊配置
工作目录\.metadata\.plugins\org.eclipse.wst.server.core\tmp?\wtpwebapps\
下面就有项目编译好的代码。有代码有改动,这里就也就会相应的改动
<Context reloadable="true" 最好改成false
修改了class发布要重启,关联项目的class不会自动发布,等等,现在一直在用一楼的run,除了jetty和tomcat有极少差别之外,这个插件不得说是现在最方便的!!
tomcat下有一款就更好了!!
关联项目的class不会自动发布 --- 确实是这样,有这个问题。
不能自动copy项目点jar到lib下--- 不存在这个问题。
一直期待有一款更好的,但现在还没有。
注意:以上所说“发布项目”,其实是在Tomcat的Server.xml配置文件中加入以下一行。
<Context docBase="registration-main" path="/registration-main" reloadable="true" /></Host>
并没有真正的copy文件,只是“指过来”
我更正,我说的有误,我已修改文章的相关论述,谢谢大家热心指正。
工作目录\.metadata\.plugins\org.eclipse.wst.server.core\tmp?\wtpwebapps\
下面就有项目编译好的代码。有代码有改动,这里就也就会相应的改动
<Context reloadable="true" 最好改成false
是COPY了一份编译好的项目代码,发布到tomcat中。
我已修改文章的相关论述,谢谢大家热心指正。
我多种方法都使用,这种每次重新部署的方式,还是很有价值的。
发布的方式自有它的好处,比如可以清理原有的部署。
注意:以上所说“发布项目”,其实是在Tomcat的Server.xml配置文件中加入以下一行。
<Context docBase="registration-main" path="/registration-main" reloadable="true" /></Host>
并没有真正的copy文件,只是“指过来”
楼主所讲的方法,并不是指向,而是把编译后的文件copy到tomcat工作目录下,每次部署的时候,都清理tomcat的工作目录,然后再次copy一套过去。
修改了class发布要重启,关联项目的class不会自动发布,等等,现在一直在用一楼的run,除了jetty和tomcat有极少差别之外,这个插件不得说是现在最方便的!!
tomcat下有一款就更好了!!
其实是可以自动发布的,而且也可以将依赖包复制到lib下。当然前提是依赖jar不是指向而是直接复制到工程的lib下。看楼主的eclipse版本,工程的lib下jar文件自动会被加载成依赖的。
我多种方法都使用,这种每次重新部署的方式,还是很有价值的。
感谢artair的评论 ,本文是Eclipse 3.6 J2EE版