问题描述
SpringBoot项目中idea执行main方法报错:
![在这里插入图片描述](https://img-blog.csdnimg.cn/d69fd2c1e7fb4b769f387c8f42c80b49.png#pic_center)
原因分析:
在使用main方法进行测试的时候,缺少javax/servlet/ServletOutputStream包,然后进行导入后,忘记去掉provided这个标签,因为main方法进行测试所处于的环境应该不属于编译或者测试环境.
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
解决方案:
注销标签!或者把provided改成compile。 provided适合在编译和测试的环境,他和compile很接近,但是provide仅仅需要在编译和测试阶段,同样provide将不会被打包到lib目录下。
<!-- <scope>provided</scope> -->
or
<scope>compile</scope>