转载自:http://www.cnblogs.com/jifeng/archive/2012/10/17/2728690.html
从myeclipse转到Eclipse最不方便的之一莫过于Web项目部署了,老是在想怎么不能把myeclipse的那个移植过来,或者有没有高人能按照Myeclipse开发一个,非常遗憾。
原版的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的配置文件,同步(publish操作)到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项目”。
如果在编译时, 报错“找不到目标运行时”,也按下图,设置“目标运行时”。就可以了。
七、调试Java代码频繁重启动
----------------------------------------------------------------------
在Tomcat Server上双击编辑该服务器,在Modules tab上选中你的项目,再点edit把reload context去掉,确定用JDK1.4以上的虚拟机运行Server,就可以不重启直接使用HotSwap
个人笔记:
八、实际发布项目遇到的问题
1、由于缺少Jar包,导致tomcat启动不了
提示信息:Caused by: java.lang.NoClassDefFoundError: Lorg/slf4j/Logger;(或者其它包)
导致:org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
问题查找:在项目部署目录下,libs文件夹下,发现没有任何jar包。。。
解决方案:
后记:这个问题找了大半天,一直以为tomcat出什么问题了。还把tomcat重装了几次。
之前都是用eclipse+jetty调试的,还是觉得这种方式方便点,可以在pom配置好的。
解决方案的想法来源:http://my.oschina.net/fqt520/blog/160031
以为是tomcat lib下缺失那个jar,经在http://grepcode.com查询,是tomcat-juli.jar
下载后,放在tomcat lib下,可是问题依旧。
经google后,发现解决方案:
1. In Eclipse, Open the “Server” tab.
2. Double click on the “Tomcat6″ entry to see the configuration.
3. Then click on the “Open launch configuration” link in the “General information” block.
4. In the dialog, select the “Classpath” tab.
5. Click the “Add external jar” button.
6. Select the file “/usr/share/tomcat6/bin/tomcat-juli.jar”
7. Close the dialog.
8. Start tomcat 6 from Eclipse.
也就是把tomcat-juli.jar加在Servers->tomcat 6->paths中
重新启动tomcat,问题解决。