myeclipse中java web项目修改内容,不能自动发布到tomcat的问题

myeclipse有一个很好的功能,就是开发web项目的时候,以debug的形式启动tomcat服务器,当你修改java类中的方法中的内容(注意只能是方法中的内容,如果添加类的属性,或是添加方法,则不适用)的时候,或是修改项目中js(比如extjs)文件的时候,myeclipse会自动把修改的内容,部属到tomcat中,刷新页面就可以看到修改的效果,非常方便,而不用频繁的关闭tomcat,发布项目,启动tomcat这种费时无聊的操作。但是最近在开发的过程中发现myeclipse的这种功能失效了,自己百思不得其解,不经意间回忆起在svn上更新代码的时候,同时也更新了两个文件:.classpath和.project文件,由于只是做开发工作,对这种不常用的文件根本就没往心里去。然后,我就想问题是不是出在了这两个文件上,结果我上网查了一下,果真是这两个文件的事儿。

       我用的是myeclipse8.5,在myeclipse中不能直接看见这两个带点(.)的文件,但是我们可以在工作空间中看到这两个文件。关于这两个文件的介绍我是看了百度文档里的一片文章,文档的网址是:http://wenku.baidu.com/link?url=vuA0uS2N3tSKQL4RRqt1sGu7dL_zUSP1_V_VrWfMN2Tm7qrL07b214zMkZax2Ac1qfpj9FZqog0tZyRcPMsLR0dAbYUKkccIhkLRApHfj2_    。大家可以自己阅读,在此不多做介绍。

     用文档编辑器(ue)打开.classpath文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<classpath>

<classpathentry kind="src" path="src"/>

<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">

<attributes>

<attribute name="owner.project.facets" value="java"/>

</attributes>

</classpathentry>

<classpathentry kind="con" path="com.genuitec.runtime.library/com.genuitec.generic_6.0">

<attributes>

<attribute name="owner.project.facets" value="jst.web"/>

</attributes>

</classpathentry>

<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>

<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>

<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ant-contrib.jar"/>

<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/shinow-framework-3.0.0.jar"/>

<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>

</classpath>

   根据百度文档介绍,有如下详细信息:

   output属性的值会随着右键工程名称àPropertiesàJava Build PathàSourceàDefault output folder的值改变而改变(这两个地方的值是一一对应的,改其中一个另外一个就会跟着改变)。比如把Default ouput folder的值改成html/WEB-INF/classes则这个文件也会随着改变path=”html/WEB-INF/classes”,另外会在左边的工程里自动生成一个没有web.xml文件的html文件夹,删不了,删了自动创建。

关键就在这里,上面的意思是,output属性,指定了myeclipse每次编译项目时生成的编译文件存放的目录。默认路径是:WebRoot/WEB-INF/classes,而myeclipse每次向tomcat自动部署的文件也默认是WebRoot下的文件。所以在你什么都不做的默认情况下,myeclipse中在tomcat已debug模式运行的时候,会自动把你修改的内容部署到tomcat服务器,不用重启,直接刷新页面就可以看到修改的效果。但是,我的项目的output属性被人修改了,path指定到了别的目录,因此每次myeclipse就不会把你修改的东西自动部署到tomcat了。当我把output属性的path值改成正确的时候,我的myeclipse又恢复了自动部署修改内容的功能。

猜你喜欢

转载自lily-better.iteye.com/blog/2261004
今日推荐