idea启服务时,发现服务启不来。首先是确定了更新svn的配置文件,再次启动服务发现还是报同样的错误。下面把报错日志完整的截出来,也整理一下自己为什么分析时走了弯路。
下面是报错日志信息:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'agentProbeController': Unsatisfied dependency expressed through field 'agentProbeService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'agentProbeServiceImpl': Unsatisfied dependency expressed through field 'nmCompDtoMapper'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'nmCompRefValueDtoMapper' defined in file
[D:\workspace\zteWorkspace\zcm-monitor-backup\target\classes\com\ztesoft\zsmart\zcm\monitor\mapper\nmsdb\NmCompRefValueDtoMapper.class]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'com/ztesoft/zsmart/zcm/monitor/mapper/nmsdb/NmCompRefValueDtoMapper.xml'. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:586)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:364)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1269)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
at com.ztesoft.zsmart.zcm.monitor.App.main(App.java:19)
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:483)
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'agentProbeServiceImpl': Unsatisfied dependency expressed through field 'nmCompDtoMapper'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'nmCompRefValueDtoMapper' defined in file [D:\workspace\zteWorkspace\zcm-monitor-backup\target\classes\com\ztesoft\zsmart\zcm\monitor\mapper\nmsdb\NmCompRefValueDtoMapper.class]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'com/ztesoft/zsmart/zcm/monitor/mapper/nmsdb/NmCompRefValueDtoMapper.xml'. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:586)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:364)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1269)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:208)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1136)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1064)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:583)
... 22 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'nmCompRefValueDtoMapper' defined in file [D:\workspace\zteWorkspace\zcm-monitor-backup\target\classes\com\ztesoft\zsmart\zcm\monitor\mapper\nmsdb\NmCompRefValueDtoMapper.class]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'com/ztesoft/zsmart/zcm/monitor/mapper/nmsdb/NmCompRefValueDtoMapper.xml'. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1631)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:208)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1136)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1064)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:583)
... 35 common frames omitted
Caused by: java.lang.IllegalArgumentException: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'com/ztesoft/zsmart/zcm/monitor/mapper/nmsdb/NmCompRefValueDtoMapper.xml'. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto
at org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:83)
at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:44)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1689)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1627)
... 45 common frames omitted
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'com/ztesoft/zsmart/zcm/monitor/mapper/nmsdb/NmCompRefValueDtoMapper.xml'. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)
at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.loadXmlResource(MapperAnnotationBuilder.java:173)
at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parse(MapperAnnotationBuilder.java:124)
at org.apache.ibatis.binding.MapperRegistry.addMapper(MapperRegistry.java:72)
at org.apache.ibatis.session.Configuration.addMapper(Configuration.java:741)
at org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:80)
... 48 common frames omitted
Caused by: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto
at org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:118)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:265)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:252)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:244)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:116)
... 54 common frames omitted
Caused by: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto
at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:120)
at org.apache.ibatis.builder.BaseBuilder.resolveAlias(BaseBuilder.java:149)
at org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:116)
... 58 common frames omitted
Caused by: java.lang.ClassNotFoundException: Cannot find class: com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto
at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:200)
at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:89)
at org.apache.ibatis.io.Resources.classForName(Resources.java:261)
at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:116)
... 60 common frames omitted
错误日志分析:在这个地方本应该是根据
错误日志1
Caused by: java.lang.ClassNotFoundException: Cannot find class: com.ztesoft.zsmart.zcm.monitorqryRefList.model.nmsdb.NmCompRefValueDto 这条报错信息的主线去查找,
而自己在排查问题是确是根据这条报错信息的主线去排查的
错误日志2
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'agentProbeController': Unsatisfied dependency expressed through field 'agentProbeService';
这两条日志数据都是报错信息,然后LZ就贴着错误日志的相关信息去google,确实有很多介绍,但是都和我遇到的问题都不match,后来停顿了一下,上个厕所发现自己思维倒挂了,这两个日志信息就像一颗大树,错误日志1是树根,错误日志2才是树叶,然后就去确认一下NmCompRefValueDto 类的路径,发现报错路径中多了一个monitorqryRefList文件夹,对比了svn也没有提示different,仔细看确实是有问题。
关键是svn update多次,怎么就没有覆盖呢,也没有提示出不同,这个就很奇怪了,让我尝试了rebuild工程,通过maven重新packageing,最后倒在这路径上。
谨记:下次遇到棘手的问题,一定要缕出报错的问题根处,不然会多走一些弯路,浪费时间。