说说<scope>provided</scope>

今天写程序遇到了这样一个异常:

       在网上找了很多解决方案,最终发现是<scope>provided</scope>的问题

       在 Intellij Idea 16 中使用maven时,所有 scope 为 provided 的依赖都是不会被加入到 classpath 中的,目前该bug尚未被修复(网站:https://youtrack.jetbrains.com/issue/IDEA-107048),在eclipse中无该问题。如果你的web应用是部署到容器中的,那么这个bug不会影响使用,因为web应用中provided的依赖在容器运行时会被提供。有带provided的依赖时,直接在IDE中运行项目会导致ClassNotFound异常

      在任何如果用到Tomcat时不加<scope>provided</scope>反而可能会报错,因为tomcat中也有servlet-api包,这样,发生了冲突,而provided表明该包只在编译和测试的时候用,所以,当启动tomcat的时候,就不会冲突了。

原文地址:https://www.cnblogs.com/hzdzkjdxygz/p/8150896.html