- Caused by: Java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor
原因:缺少此包aopalliance-1.0.jar --这个jar包是spring的AOP,里面有Interceptor和Invocation
解决方法:下载并导入该jar包后方可解决
pom.xml:<dependency> <groupId>aopalliance</groupId> <artifactId>aopalliance</artifactId> <version>1.0</version> </dependency
- java.lang.NoClassDefFoundError: org/aspectj/weaver/tools/PointcutDesignatorHandler
原因:缺少aspectjweaver的jar包
解决方法:下载并导入该jar包后方可解决
pom.xml:<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.10</version> </dependency>
- Spring 引入外部配置文件的时候 Could not resolve placeholder ‘jdbc.driverClassName’ in string value "${driver}
原因:spring读取的外部配置文件可能存在特殊字符(包括空格)
解决方法:向<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> </bean>
标签中添加
<property name="ignoreUnresolvablePlaceholders" value="true" />
属性标签(过滤掉特殊占位符)即可解决 - 当 SSM 项目启动时报某个类无法注入
原因:
1.未注入的类可能没有进行spring配置或者该类所在的包没有配置扫描器
2.如果确定1没问题,那么很有可能是spring引用的其他<bean></bean>
出现了问题所致
eg:当 DataSource 无法完成注入时,会并发导致 Controller 注解下的类也无法注入,并且先行报 Controller 注解类无法注入的错
解决方法:这个问题的定位比较宽泛,需要细心查找问题的所在,并将其修正。
奇葩问题
- 在xxx.properties文件中某一配置的属性总是无法读取,其他属性可正常获取。
eg:博主在编写某工程时遇到在jdbc.properties文件中第一行配置的属性总是无法读取,后将第一行空出,从第二行开始编写配置文件,此问题便迎刃而解。