問題描述:
今天創(chuàng)建了一個springboot項(xiàng)目邑彪,但是運(yùn)行的時候出現(xiàn)了問題陶贼,用的是gradle構(gòu)建工具,錯誤信息如下:
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
at com.example.Demo2Application.main(Demo2Application.java:10)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 6 more
提示的信息是 沒有找到這個 org/springframework/boot/SpringApplication這個文件,但是我全局搜索了一下笤闯,是有這個文件以及其對應(yīng)的class文件的:
這樣應(yīng)該是沒問題的惦银,其實(shí)這個問題我上個星期就遇到過咆课,問了很多人也查找了很多資料,都沒有解決扯俱。其實(shí)這樣的問題一般都是缺少jar包书蚪,或者路徑出現(xiàn)了問題,不過我檢查了一下迅栅,我這里是沒有問題的殊校。
解決問題:
最后大早上的,我弄了將近兩個小時終于把問題解決了~~~
由于本地c盤中的.m2下的settings.xml這個文件里配置的倉庫中前幾條都是公司里的repo读存,所以導(dǎo)致了我refresh project的時候會無比的慢为流,因?yàn)槲疫@邊沒開vpn幾乎時訪問不了公司的repo的,maven去遠(yuǎn)程拉依賴的時候不夠智能宪萄,因?yàn)榍皟蓚€repo我配置的是公司的艺谆,后兩條我配置的是maven官方的repo,所以maven如果發(fā)現(xiàn)前幾個repo響應(yīng)太慢應(yīng)該快速的切換其他的repo拜英,可惜的是maven現(xiàn)在的切換速度太慢了静汤,最后我把這公司的前幾天repo都刪了(記得備份一下),最后拉取依賴的速度就很快了居凶。
接著我發(fā)現(xiàn)創(chuàng)建springboot項(xiàng)目的時候虫给,構(gòu)建工具用的是maven是沒有問題的,所以我覺得問題可能就出在gradle這個構(gòu)建工具上侠碧,最后發(fā)現(xiàn)是因?yàn)樽约河昧吮镜氐膅radle配置抹估,最后改成推薦的gradle配置就可以了:
然后重新創(chuàng)建一個gradle project 就可以啟動成功了:
我覺得可能是springboot版本和gradle版本出現(xiàn)了沖突,因?yàn)槟J(rèn)的gradle wrapper是springboot 自己集成進(jìn)去的弄兜,springboot即使版本更新药蜻,自己也會維護(hù)這個gradle wrapper,所以用推薦的是沒有問題的替饿。