web项目无法被Eclipse的Tomcat识别的解决办法

时间:2024-10-03 13:05:32

Eclipse 导入外部项目无法识别为web项目并且无法在部署到tomcat下

1、进入项目目录,找到 .project 文件:

2、找到 <natures> 代码段,在里面加入如下标签内容并保存:
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
如果没有则添加 <natures> 标签并在里面添加上面的内容后保存。

3、删除.setting下的文件,从其它Eclipse web项目(如果没有的话用eclipse新建一个)的 .setting 文件下拷贝以下文件:
.jsdtscope
org.eclipse.jst.common.project.facet.core.prefs
org.eclipse.wst.common.component
org.eclipse.wst.common.project.facet.core.xml
org.eclipse.wst.jsdt.ui.superType.container
org.eclipse.wst.jsdt.ui.superType.name

4、打开 org.eclipse.wst.common.component 文件并修改项目名:
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="springweb">
<wb-resource deploy-path="/" source-path="/WebRoot" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="context-root" value="springweb"/>
<property name="java-output-path" value="/springweb1/build/classes"/>
</wb-module>
</project-modules>
将含有 deploy-name 的行的值相同的地方改为你的项目名,同时把 source-path 改为/WebRoot(如果你的项目目录是WebContent就不用改了)
如果是用 maven 构建的项目则将 source-path 的值改为 /target/m2e-wtp/web-resources

5、打开 .jsdtscope 文件:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="WebRoot"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
<attributes>
<attribute name="hide" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
<classpathentry kind="output" path=""/>
</classpath>
把 <classpathentry kind="src" path="WebRoot"/> 中path改为/WebRoot(如果你的项目目录是WebContent就不用改了)
如果是用 maven 构建的 web 项目,通常 Web 的目录为 webapp,将 kind="src" 的行改为 <classpathentry kind="src" path="webapp"/> 即可。

6、在eclipse的项目上点右键,刷新项目,就会发现项目变成了web项目,然后添加到tomcat中就会发现tomcat可以识别我们的项目了。