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启动