新检出项目,发现代码无故报错,各种尝试,最终发现是因为  项目右键中的 project Facets 属性中的 java 后面的 version 版本和项目 build path 的 jdk 版本不一致,这个在检出项目后经常会自动出现不一致的情况。

将其改成一致的就可以了。

另外可以参考下面文章:

原文:https://www.cnblogs.com/zj0208/p/6306377.html

Eclipse的Project Facets属性

Project Facets

1. 'Project Facets'可理解为:项目的特性,主流 IDE (Eclipse IDEA) 都提供了 facet 的配置。

  'Project Facets'作用:暂不描述,先看下面的实验。

2. 来个例子:

1) 新建一个java project(右键-->New-->Java Project)。

2) 来看一下他的'Project Facets'都选中了哪些属性(选中项目右键-->Properties-->Project Facets)

  只选中了一个java有没有。这个是会被默认选中的配置。这是一个最简单的java项目。

3) 这时我想把这个java项目做成一个web项目。

  3.1) Project Facets中选中Dynamic Web Module[动态web模板]

  3.2) 点击Apply

  

  3.3) 看看此时的项目结构发生了什么变化,增加了WebContent目录有木有。

  

  3.4)重新打开Project Facets面板框,'JavaScript'选项框也被默认选中了。

  

4) 我又想在项目中使用JPA了。在Project Facets面板选中JPA,点击OK。看看项目结构发生了生么变化。

  在src文件夹下,又多了JPA的元数据文件。

3. 其他选项的作用我也不是很明了,不再一一尝试了,但是'Project Facets'的作用应该可以理解了。

  简单归纳一下'Project Facets'的作用特点(此处拷贝而来):

  • facet 定义了 java ee 项目的特性和要求
  • 为项目添加 EAR facet 会自动添加 web.xml (deployment descriptor file) ,并重新设置classpath
  • 项目创建时至少已经有一个 facet,开发人员可以按需添加其他 facet
  • 有的 facet 会依赖其他 facet
  • 有的 facet 可能和其他 facet 互斥
  • facet 可以设置版本

4. 总结:项目需要哪些应用,添加对应的特性即可。

Java Compiler

关于Java Compiler只说一点:

  Java Compiler选择的版本必须和'Project Facets'中指定的java版本一致。

  否则Eclipse会报异常:Javacompiler level does not match the version of the installed Java project facet。

附配置图一张:

Java Build Path

右侧一排按钮主要用来添加jar包,变量,类库,class文件等资源文件。不做细讲。

也只说明一点:

Java Build Path中引用的jdk的版本需要和'Project Facets'中配置的java版本一致。

Run Configurations面板中的JRE配置也需要和'Project Facets'中配置的java版本一致。

如果jdk版本不一致,会发生jsp文件无法正确编译的问题。

Eclipse的Project Facets属性设置解决项目无故报错的更多相关文章

  1. eclipse项目无故报错,markers信息为An error occurred while filtering resources

    eclipse项目无故报错,markers信息为An error occurred while filtering resources 描述:eclipse项目和resource文件上有红色的叉,其m ...

  2. Eclipse的Project Facets属性

    Project Facets 1. 'Project Facets'可理解为:项目的特性,主流 IDE (Eclipse IDEA) 都提供了 facet 的配置.  'Project Facets' ...

  3. 解决sweetalert 无故报错 elem.className.replace Uncaught TypeError: Cannot read property 'className' of null

    今天碰到这么一个问题,在使用sweetalert的时候时有时无会报错 elem.className.replace Uncaught TypeError: Cannot read property ' ...

  4. Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法

    转: Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法  更新时间:2018年02月14日 17:13:03   投稿:wdc   我要评论   Java开发中 ...

  5. eclipse 中导入 maven项目 启动报错

    导入Maven项目到Eclipse中时,出现问题如下: java.lang.ClassNotFoundException: org.springframework.web.context.Contex ...

  6. 解决Maven项目中的无故报错的方法

    解决Eclipse+maven中的无故报错 错误: One or more constraints have not been satisfied. Deployment Assembly跟java版 ...

  7. 如何自定义JSTL标签与SpringMVC 标签的属性中套JSTL标签报错的解决方法

    如何自定义JSTL标签 1.创建一个类,从SimpleTagSupport继承 A) 通过继承可以获得当前JSP页面上的对象,如JspContext I) 实际上可以强转为PageContext II ...

  8. 已解决: idea创建并部署SpringMVC项目时 报错 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    用IDEA创建并运行SpringMVC项目时,最初发现没有Servlet包,这个问题已在上篇解决,然而当我们尝试去运行此时的SpringMVC项目时,发现仍然有错误.ClassNotFoundExce ...

  9. Eclipse 新建.jsp页面后,页面头部标签报错的解决方法

    Eclipse 新建.jsp页面后,页面头部标签报错的解决方法 1.报错地方: 2.解决方法: .jsp页面右键==>BUild Path ==>Configure Build Path. ...

随机推荐

  1. 手把手教你封装 Vue 组件,并使用 npm 发布

    Vue 开发插件 开发之前先看看官网的 开发规范 我们开发的之后期望的结果是支持 import.require 或者直接使用 script 标签的形式引入,就像这样: // 这里注意一下包的名字前缀是 ...

  2. CSP201509-2:日期计算

    引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中国计算机学会(CCF)发起的"计算机职业资格认证"考试, ...

  3. Python字符串所有操作函数

    name = "my \tname is {name} and i am {year} old" print(name.capitalize())#首字母大写 print(name ...

  4. 通过流的方式操作hadoop的API

    通过流的方式操作hadoop的API 功能: 可以直接用来操作hadoop的文件系统 可以用在mapreduce的outputformat中设置RecordWrite 参考: 概念理解 http:// ...

  5. [递推+矩阵快速幂]Codeforces 1117D - Magic Gems

    传送门:Educational Codeforces Round 60 – D   题意: 给定N,M(n <1e18,m <= 100) 一个magic gem可以分裂成M个普通的gem ...

  6. [2018 ACL Short and System] 对话系统

    Short Paper(s) 1.  Task-oriented Dialogue System for Automatic Diagnosis. (Cited by 0) Zhongyu Wei, ...

  7. APUE学习笔记3_文件IO

    APUE学习笔记3_文件IO Unix中的文件IO函数主要包括以下几个:open().read().write().lseek().close()等.这类I/O函数也被称为不带缓冲的I/O,标准I/O ...

  8. Python3 Tkinter-Text

    1.创建 from tkinter import * root=Tk() t=Text(root) t.pack() root.mainloop() 2.添加文本 from tkinter impor ...

  9. 各类4G手机进入工参模式查看手机信息

    随着移动4G正式商用,LTE网络建设日益完善,LTE用户日趋增多,通过进入其工程模式读取服务小区电平RSRP.物理小区标识PCI和频点号等基本信息的方式来判断测试点信号质量的优劣.由于市场上商用终端品 ...

  10. 使用Python进行AES加密和解密

    摘录于:http://blog.csdn.net/nurke/article/details/77267081 另外参考:http://www.cnblogs.com/kaituorensheng/p ...