记录一个spring框架搭建的错误

最近在学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.<init>(Ljava/lang/String;)V

 网上有人说是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

 

<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
			<version>2.5.3</version>
			<exclusions>
				<exclusion>
					<artifactId>spring</artifactId>
					<groupId>org.springframework</groupId>
				</exclusion>
				<exclusion>
					<artifactId>javassist</artifactId>
					<groupId>org.javassist</groupId>
				</exclusion>
				<exclusion>
					<artifactId>netty</artifactId>
					<groupId>io.netty</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
			<version>3.4.6</version>
			<exclusions>
				<exclusion>
					<artifactId>netty</artifactId>
					<groupId>io.netty</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.github.sgroschupf</groupId>
			<artifactId>zkclient</artifactId>
			<version>0.1</version>
			<exclusions>
				<exclusion>
					<artifactId>netty</artifactId>
					<groupId>io.netty</groupId>
				</exclusion>
			</exclusions>
		</dependency>

重启    报其他错!

错误四    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


原文地址:https://www.cnblogs.com/paper-man/p/13284764.html