在導入項目的過程當中 遇到的一個下坑 。。做簡單的紀錄 。。。
項目是用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..
終於搞定。。。