Eclipse下配置javaweb项目快速部署到tomcat

时间:2024-01-31 19:06:52

用惯了VS,再用Eclipse,完全有一种从自动挡到手动挡的感觉啊。

很多同学在Eclipse下开发web项目,每一次修改代码,看效果的时候都有右键项目->Run as -> Run on server,然后慢吞吞的打开Eclipse的内建浏览器,显示如下一个界面,让人看起来分外忧郁!

在网上查了一圈,其它的方式基本都在教大家将项目发布到tomcat目录的webapp目录下,虽然比默认方式要好些,但是http://localhost:8080/InskyScheduleCenter/之类的url真让人蛋疼,好好的一个项目被作为一个目录存在,如果一些页面资源文件还是用的相对路径方式来写,那调整页面的显示更让人火大,有没有一种简单的部署方式呢,就像VS里一样,选择publish,文件就自动一个个copy到指定目录,然后在浏览器中敲起url就访问呢,网上找了一圈,实在没找到,我自己捣鼓了一下午,终于找到了方法,特此分享给大家。

下边我们来一步步开始:

  1. Tomcat配置

    打开你的tomcat目录下的conf\server.xml文件,首先添加自己本地的虚拟站点,呃,直接抢80端口,用起来方便。

    Server.xml中本来默认存在一个service节点,照着copy一份,放到原service节点之下。

<Service name="ScheduleCenter">

<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443"/>

<Connector port="18580" protocol="AJP/1.3" redirectPort="8443"/>

 

<Engine defaultHost="www.ScheduleCenter.com" name="ScheduleCenter">

 

<Realm className="org.apache.catalina.realm.LockOutRealm">

<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>

</Realm>

 

<Host appBase="webapps" autoDeploy="true" name="www.ScheduleCenter.com" unpackWARs="true">

<Alias>www.ScheduleCenter.com</Alias>

<Context docBase="E:\publish\tomcat\wtpwebapps\InskyScheduleCenter" path="" reloadable="true"/>

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>

 

</Host>

</Engine>

</Service>

按如上的配置,监听80端口,然后配置域名映射www.ScheduleCenter.com ,将这个网站的目录指向E:\publish\tomcat\wtpwebapps\InskyScheduleCenter。具体tomcat的站点配置可以另写一篇文章了,有兴趣的同学可以去查其它资料,这里就不跑题扯远了。

 

 

  1. Eclipse配置

    首先我们已经有一个javaweb网站了,至于网站怎么写,我们这里也不关注。

    在项目上右键->Run as -> Run on server,按照老方式搞一个tomcat服务器,也没啥说的,注意服务器版本jre什么的版本选对。

    

    然后Finish,这个server就可以了,这是大家都熟悉的eclipse默认run站点配置。

    

    下边,我们来做一些改变,在这个server run起来的情况下,打开server面板。

    点击下边那个InskyScheduleCenter,右键remove,然后在上边的localhost(2)上,邮件,选择open,弹出如下对话框:

    

注意,如果此时下边的那个InskyScheduleCenter没被remove,或者server没有处于start的状态,这个面板的所有选项都是灰色,不可操作。

此时注意,选择图中红框所示的单选框,表示将项目发布自己指定的目录下,在下边的两个文本框中,分别填入server的路径和部署目录,如图所示,做完操作后,ctrl + s保存。

然后再在项目上右键->Run as -> Run on server,ok,此时可以看到项目已经被发布到E:\publish\tomcat\wtpwebapps目录。

如果有时候发布目录点进去发现缺少文件啥的,可以先在server面板先选择clean,再选择publish即可。

以上,是第一次需要执行的操作。

 

之后,我们在eclipse中更改代码,站点的状态就会变成RePublish,如果设置了自动同步,那它会很快变成Synchronnized,如果没自动同步,手工右键选择publish就能将代码重新部署到我们的E:\publish\tomcat\wtpwebapps目录中。

  1. 更改windsow的host文件,建立本地站点映射

    127.0.0.1    www.ScheduleCenter.com

     

     

  2. 访问浏览器

    关掉eclipse中的tomcat服务,启动tomcat服务,我是用的xampp

    跑起来后,在浏览器中键入url,即可访问网站。

    此时,我们只要在eclipse中的代码有所更改,只需要在【服务】面板的server上,看到站点的状态是RePublish,右键选择publish即可将更新的代码部署到站点,然后刷新网页即可看见最新的改动。