provided
在本地启动一个新项目时,报错: java.lang.ClassnotfoundException: javax.servlet.Filter
环境intellJ idea,我同事的myEclipse就可以直接启动
最后搜了下问题问题原因是:Spring boot项目中引入使用的是scope=provided
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
而默认情况下,idea是不会提供对应的servlet-api.jar包eclipse会提供
网上有人说这是idea的bug,这么说显然是不对的,是完全没有理解provided和compile的区别对于scope=compile的情况(默认scope),也就是说这个项目在编译,测试,运行阶段都需要这个artifact对应的jar包在classpath中。而对于scope=provided的情况,则可以认为这个provided是目标容器已经provide这个artifact。
这么说可能不是很好理解:换个简单的,就是你在把这个项目打成war包时,scope=provided的jar包,不会出现在WEB-INFO/lib目录下,而scope=compile的jar包,会放到WEB-INFO/lib目录
这样可以避免想servlet-api.jar这样的jar包冲突,但是如果遇到idea下默认不提供servlet-api.jar时,使用scope=provided就会缺少对应的jar包,也就是我遇到的问题找不到类相关阅读
SEO优化和SEM推广有什么不同?这两种方式哪种好些呢?SEO实验室小编下面为您讲解一下:
现在很多企业在建设网站的时候不清楚网站应该做成什么类型的,网站的常规类型有产品展示型、品牌形象型、营销推广型。当然网站定位
网络推广和网络营销有什么区别?现在很多企业在网上发布产品和品牌信息,那么这种在网络上打广告的方式究竟是网络推广还是网络营
http与https有什么区别?HTTP是超文本传输协议的缩写形式,而HTTPS表示安全的超文本传输协议。超文本传输协议是一组规则,必须遵循
今天上海SEO优化给大家科普一下网站域名和网站网址的区别是什么?相信大家了解过网站域名,认为域名就是网址,其实不然,接下来小编为