最近在学spring框架 前几天搭建的框架 今天启动竟然报错了
错误一 Context namespace element 'component-scan' its parser class are only available on JDK 1.5 and higher
说是我的applicationContext.xml配置文件的 component-scan这个扫描包的命名空间错了
我一下子就蒙了 以前怎么没事呢 没办法啊 还要解决啊
解决过程:
我用的jdk是1.8 网上有人说spring不识别我的1.8 对于不认识的版本 会设置成1.4 所以报错了
还提出了两种解决办法:1 降低jdk版本 2 修改spring判断版本的类
我在降低版本无效后 查看jdkVersion类
大家也看到了 他是可以识别1.8的 那么问题不是这
无奈之下 再想办法修改jdk版本吧
因为tomcat9默认支持的最低版本是jdk1.8 我怀疑是tomcat版本问题 下载tomcat8.5
将工作空间的jdk版本设置为1.7 右键build path修改jdk为7后 使用maven更新项目 发现项目又变为了8
这是什么问题 既然是maven!我就看了下pom.xml文件
可以看到项目在编译的时候是jdk1.8 我把他改为1.7后就行了 重启 报了一个其他错误!
错误二 java.lang.NoSuchMethodError: org.springframework.beans.factory.support.RootBeanDefinition.
网上有人说是spring版本问题 我将jar包删除 改为3.1.2 重启报其他错!
错误三 java.lang.NoSuchMethodError: org.springframework.beans.MutablePropertyValues.add(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/MutablePropertyValues
这是jar包冲突了 网上说是dubbo和zookeeper引入jia包的时候没有排除内置的spring
com.alibaba
dubbo
2.5.3
spring
org.springframework
javassist
org.javassist
netty
io.netty
org.apache.zookeeper
zookeeper
3.4.6
netty
io.netty
com.github.sgroschupf
zkclient
0.1
netty
io.netty
重启 报其他错!
错误四 java.lang.UnsupportedClassVersionError: com/mysql/cj/jdbc/Driver : Unsupported major.minor version 5
jdk8支持:com/mysql/cj/jdbc/Driver jdk7只能支持:com/mysql/jdbc/Driver
但是还不行
pom文件mysql-connector-java版本从6.0.6改为5.1.16
重启 报其他错误!
错误五 org.springframework.aop.framework.AopConfigException: Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify proxy interfaces
缺少cglib包
导入cglib-nodep-2.1_3.jar包,或者导入asm-2.2.3.jar和cglib-2.2.jar