严重: Servlet.service() for servlet jsp threw exception java.lang.NullPointerException

在用maven管理的项目开发过程中,服务器我们用的是tomcat,有时候我们依赖的jar包会和tomcat自带的jar包起冲突,但是不加呢,jsp页面的<script>标签又会报红,虽然不影响功能,但是看上去总是不舒服的。

这里报红呢主要是因为缺少jsp-api.jar包。但是呢因为tomcat是自带这个jar包的,你添加这个jar依赖又会包,jar包冲突的错误-Servlet.service() for servlet jsp threw exception java.lang.NullPointerException。除了jsp-api.jar会起冲突,还有一个servlet-api.jar也会起冲突,需要注意。那怎么样既能让他编译通过不报红,然后运行时又不起jar冲突呢。很简单加一句代码就行---<scope>provided</scope>

<dependency>
	<groupId>org.apache.tomcat</groupId>
	<artifactId>jsp-api</artifactId>
	<version>6.0.53</version>
	<scope>provided</scope>
</dependency>

provided意味着打包的时候可以不用包进去,别的设施(Web Container)会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是在打包阶段做了exclude的动作。

关于scope的一些其他的一些属性,这里给大家贴一个连接,需要的可以看看:

https://blog.csdn.net/libin_gogogo/article/details/78204575

猜你喜欢

转载自blog.csdn.net/weixin_42189604/article/details/82215952