Myeclipse导入项目后显示不是web项目Project Facets

 

 

能找到Project Facets

从myeclipse导入eclipse导致不能识别为web项目(java项目转为web项目)

1、进入项目目录,找到.project文件,打开。 

2、找到<natures>...</natures>代码段。 

3、在第2步的代码段中加入如下标签内容并保存: 

<nature>org.eclipse.wst.common.project.facet.core.nature</nature> 
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> 
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature> 

4、在eclipse的项目上点右键,刷新项目。 

5、在项目上点右键,进入属性(properties) 

6、在左侧列表项目中点击选择“Project Facets”,在右侧选择“Dynamic Web Module”和"Java",点击保存即可。

 

注:另外附解决自定义设置WEB目录的路径问题:

注意,如果有2个项目都要设,请先都更改一下.PROJECT文件后再刷新。

 

最近在做Web 项目时,新建了一个WEB 项目,如webdemo,eclipse默认的build路径为build, WEB-INF存放于WebContent下面,今改了一个build路径和WebContent名字,发现项目不可用了,

1. 具体修改过程过,把WebContent改为 WebRoot
2. 把build路径从build/classes 改为 webdemo/WebRoot/WEB-INF/classes

在修改之前原存放于lib下的jar包都存于eclipse项目的Libraries/Web App Libraries目录下面,改后,Web App Libraries 变为空了,而且Tomcat6.x在启动的时候也识别不了了。研究了一下午,终于找出问题所在,今天特发出来,以供后来的朋友参照。

我们打开所建项目目录,在根目录下面有一.settings\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="webdemo">
<wb-resource deploy-path="/" source-path="/WebContent"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="context-root" value="webdemo"/>
<property name="java-output-path" value="/webdemo/build/classes"/>
</wb-module>
</project-modules>

改后;发现少了一句<wb-resource deploy-path="/" source-path="/WebContent"/>,所以我们要手动把它加下,最后改正后的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="webdemo">
<wb-resource deploy-path="/" source-path="/WebRoot"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="context-root" value="webdemo"/>
<property name="java-output-path" value="/webdemo/build/classes"/>
</wb-module>
</project-modules>

这样我们的eclipse web 项目又可以像以前一样运行,而且所有lib包下的jar也会自动存入Libraries/Web App Libraries目录下面。

 

找不到Project Facets

 

 

  

一般出现在从别处import的项目上,只有项目文件夹上有红叉,其他地方都正常,现总结个人的几个解决方案:

有几种可能:
1,编码设置是否一致,也即是你项目原来的编码和现在eclipse用的默认编码是否一致
2,导入项目中jar路径可能已经被改变,多数情况下都是这个原因造成,我也曾经遇见过,你要确保你的jar包路径都没问题。myeclipse有查看jar路径的视图你可切换看看,报红X的就都是路径被改动过的,重新加进来就OK。
3,在problem控制台里有如下错误提示:Java compiler level does not match the version of the installed Java project facet。这种情况一般可以在项目上右键-->properties-->然后找到project facets和 Java Compiler两个选项,修改其使用的jdk版本即可。如果没有找到project facets选项,可以参考下面的方法:

 

当你安装了两个版本的JDK,用了两个IDE开发工具,比如两个myeclipse,Myeclipse8.5和Myeclipse9.0。

这时候涉及到了jdk版本的问题,而在Myeclipse中设置是比较隐藏的。
Eclipse下有个项目报如上错误,这个是因为Facted Project 中的Java 版本设定与项目的Java 版本设定不一致。而如果使用的是MyEclipse的话,这个配置修改起来就不是很方便,具体方法稍后再说。如果是eclipse jee版本,则使用javaee插件是wtp,在wtp环境在,在当前项目上点右键,属性--Project Facets中,配置编译版本与java compiler的版本一致,问题即解决了。
MyEclipse中没有Project Facets配置选项,则需要到当前项目的.settings文件夹下,找到org.eclipse.wst.common.project.facet.core.xml文件,其内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="2.5"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
其中<installed facet="java" version="1.6"/>这行就是faceted project的编译级别配置。<installed facet="jst.web" version="2.5"/>这行配置在某些情况下也需要修改,比如在MyEclipse中建了个web项目,后来又导入到eclipse jee,有时候就需要修改这个配置。
保存配置后,刷新并build项目后,问题解决。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。