eclipse显示An error has occurred,See error log for more details. java.lang.NullPointerException

当eclipse显示

An error has occurred,See error log for more details.

java.lang.NullPointerException,刷新或者clean以及更新maven project都报错时,而且problem视图不显示什么原因,如图:
eclipse显示An error has occurred,See error log for more details. java.lang.NullPointerException
解决方法:
首先从图中无法看出是什么错误,需要刷新eclipse,
找到eclipse目录,打开cmd,在eclipse目录下执行eclipse -clean,自动启动eclipse
启动之后会出现提示错误信息

org.xml.sax.SAXParseExceptionpublicId:
platform:/resource/java8_web/src/main/webapp/WEB-INF/web.xml; systemId:
platform:/resource/java8_web/src/main/webapp/WEB-INF/web.xml; lineNumber: 2; columnNumber: 23; 元素类型 “web-app” 必须后跟属性规范 “>” 或 “/>”。

找到web.xml,将<web-app>标签里的内容删除即可,然后在maven update project即可

删除前:
eclipse显示An error has occurred,See error log for more details. java.lang.NullPointerException
删除后:
eclipse显示An error has occurred,See error log for more details. java.lang.NullPointerException
引起上述原因是由于之前JDK版本为1.7,对应的Dynamic web module 为 2.4
切换JDK1.8之后,默认Dynamic web module 为 3.1,因此web.xml中<web-app>中的2.4版本已经不适应了,当然可以修改当中版本等信息,如果不会改,直接删除即可