新检出项目,发现代码无故报错,各种尝试,最终发现是因为  项目右键中的 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. List和Turple

    List 格式:classmates = ['Michael', 'Bob', 'Tracy'] 读取list长度用:len(classmetes) 索引:索引正向从0开始,逆向从-1开始 在末尾增加 ...

  2. git服务器搭建及eclipse使用git

    一.搭建git服务器 1.yum install git 2.新建用户linux用户git,管理git服务 useradd git passwd git 3.初始化git仓库 git init --b ...

  3. Linux命令应用大词典-第31章 设备管理

    31.1 udevadm info:查询udev数据库中的设备信息 31.2 mkdnod:创建块设备和字符设备文件 31.3 MAKEDEV:创建/dev中的设备 31.4 lsblk:列出块设备信 ...

  4. 了解Python控制流语句——for 循环

    for 循环 Python教程中for...in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),意即它会遍历序列中的每一个项目.我们将在后面的Python序列(Seque ...

  5. Oracle启动与关闭数据库实例

    Oracle数据库启动实例分为3个步骤: 启动实例 加载数据库 打开数据库 通用模式: STARTUP  [ nomount | mount | open | force ]  [resetrict] ...

  6. Laxcus大数据管理系统2.0(7)- 第五章 数据构建

    第五章 数据构建 在数据处理过程,我们经常会遇到这样的情况:大多数时候,用户最初输入的数据会含有大量无意义的.杂乱的信息,需要经过提炼.收集.汇总等一系列手段,才能产生有意义和用户可识别的数据内容:当 ...

  7. 论文笔记:Deep Attentive Tracking via Reciprocative Learning

    Deep Attentive Tracking via Reciprocative Learning NIPS18_tracking Type:Tracking-By-Detection 本篇论文地主 ...

  8. LeetCode - 231. Power of Two - 判断一个数是否2的n次幂 - 位运算应用实例 - ( C++ )

    1.题目:原题链接 Given an integer, write a function to determine if it is a power of two. 给定一个整数,判断该整数是否是2的 ...

  9. HDU2376Average distance(树形dp|树上任意两点距离和的平均值)

    思路: 引:如果暴力枚举两点再求距离是显然会超时的.转换一下思路,我们可以对每条边,求所有可能的路径经过此边的次数:设这条边两端的点数分别为A和B,那 么这条边被经过的次数就是A*B,它对总的距离和的 ...

  10. lintcode-184-最大数

    184-最大数 给出一组非负整数,重新排列他们的顺序把他们组成一个最大的整数. 注意事项 最后的结果可能很大,所以我们返回一个字符串来代替这个整数. #### 样例 给出 [1, 20, 23, 4, ...