原因:在工程转移过程中(你跟新SVN的时候连人家的配置文件一块跟了对吧,一般svn服务器上只有src+web,以后不管检出还是提交,都别选择一些.project .classpath之类的文件哦),导致工程的配置文件出错

解决方法:
          1.在工程目录下的.mymetadata文件中可能webrootdir被改无效了(把下面内容拷到你的.mymetadate文件中的相应位置上);或者有可能少了这context-root这个属性;添加上这个属性即可,内容如下:
            context-root="/上面的name属性值"
          
2.关掉Eclipse,再启动Eclipse,接着发布工程,发布成功!

相关截图:

 

二:代码版

    这是万恶的MyEclipse的问题,我从SVN上checkout出来的项目中没有.mymetadata文件,在项目根目录下新建这个文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project-module
  type="WEB"
  name="smoke"
  id="myeclipse.1225672400062"
  context-root="/smoke"
  j2ee-spec="5.0"
  archive="smoke.war">
  <attributes>
    <attribute name="webrootdir" value="WebRoot" />
  </attributes>
</project-module>

 

哥,你别说你建立不了.mymetadata文件,大哥,我建议你建立一个test的web工程,直接复制这个文件到项目

原因:

打开记事本 然后直接点保存 文件名输入.txt 点保存 于是乎 一个没有文件名的txt文件就生成了
主要是因为 Windows资源管理器(Explorer.exe)不让用户建立无文件名的文件 但其实Windows的文件管理是允许无文件名的
其他的方法 比如说用cmd将文件重命名 也可以达到这个目的

所以你可以试试taskkill /f /t /im explorer.exe,然后再建立哦。