1、預備java
首先確認你的確有下載到依賴,否則的話這個問題很明確就是要你去找到正確的依賴socket
我項目的pom文件明明就依賴了這個類所在的文件了,爲何還報類未定義異常呢?並且在idea下查找類也能明確看到類也在maven的外部依賴中看到了,以下如下面的異常爲例,看到的確在maven中找到了。執行run Application確仍是報錯。maven
Exception in thread "main" java.lang.NoClassDefFoundError: org/glassfish/hk2/utilities/reflection/ReflectionHelper
2、定位問題ide
通過如上確認後,能夠想到應該是配置出了問題了idea
能夠看到這個啓動類依賴的classpath是模塊的類路徑,而且啓動的是Application並非Maven應用,看這個模塊的報類未定義的錯引入類是hk2-utils是provided的,spa
再看啓動打印的啓動信息以下:code
C:\Java\jdk1.8.0_101\bin\java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:49736,suspend=y,server=n -classpath C:\Users\cqq\AppData\Local\Temp\classpath.jar -Dfile.encoding=UTF-8 com.xxx.BootstrapAppserver
查看這個文件中的MANIFEST.MF,並找不到這個類,因此啓動就會報NoClassDefFoundErrorblog
找到緣由就能夠下一步操做了it
3、解決問題
1.能夠修改.iml文件的provided
2.修改項目啓動方式爲maven啓動