在导入项目的过程当中 遇到的一个下坑 。。做简单的纪录 。。。
项目是用springboot 然后一看是maven管理的。。所以Intellij idea 直接open 随着各种download结束 。
启动发现 如下问题 。。
Caused by: java.lang.ClassNotFoundException: javax.servlet.Filter
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_40]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_40]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_40]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_40]
at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:614) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE]
... 20 common frames omitted
于是傻傻的 去导入 javax.servlet 。。结果发现问题变成了这样 。。
Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean
于是百思不解,各种检查 各种翻论坛 。。都无解 。 在濒临放弃的时候 突然想到是不是tomcat的问题 ,于是去检查pox中对tomat插件的依赖。。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
呃呃 终于找到问题点 。。注释 <scope>provided</scope>使用默认的scope..
终于搞定。。。