Spring boot 报错java.lang.NullPointerException: null

新学习  Spring boot  

按照网上资料搭建(兼容jsp),成功启动,正常遇见 helloworld 

但页面一直不让用EL表达式,报错如下:

java.lang.NullPointerException: null
	at javax.el.CompositeELResolver.add(CompositeELResolver.java:117) ~[javaee-api-8.0.jar:na]
	at org.apache.jasper.el.ELContextImpl.(ELContextImpl.java:87) ~[tomcat-embed-jasper-8.5.23.jar:8.5.23]
	at org.apache.jasper.compiler.Validator$ValidateVisitor.prepareExpression(Validator.java:1617) ~[tomcat-embed-jasper-8.5.23.jar:8.5.23]
	at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:750) ~[tomcat-embed-jasper-8.5.23.jar:8.5.23]
	at org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:959) ~[tomcat-embed-jasper-8.5.23.jar:8.5.23]
.....

以为JSP兼容有问题,又经过一系列调整,报的异常换了几换,还是不行。调整方向有误

终发现问题出在pom.xml 引入了不应该引入的


			javax
			javaee-api
			8.0
		

我当初引入这个的原因是在建立maven 工程时报错,于是为了让它不报错而添加的,包括web.xml的修改(此文件在spring boot中无用)

去掉即可,至于原因个人猜是 javaee-api 重写了springboot父类的web.xml.  

原因纯属个人臆测,有高手明白愿闻其详,此文章留给自己备查。

另外还有个发现


		org.springframework.boot
		spring-boot-starter-parent
		1.5.9.RELEASE
		
	

中1.5.9版本和1.33版本的SpringBootServletInitializer所在包不同,但并不影响使用,改下即可。


你可能感兴趣的:(web)