今天在使用eclipse运行maven项目是遇到了一个问题,运行时提示 Unsupported major.minor version 52.0错误:
java.lang.IllegalStateException: Cannot load configuration class: com.acrabsoft.web.datachange.manger.DatachangeManger at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:403) at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:249) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:281) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:125) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:525) 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 org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) at com.acrabsoft.web.StartApp.main(StartApp.java:13) Caused by: java.lang.UnsupportedClassVersionError: com/acrabsoft/web/datachange/manger/DatachangeManger : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at org.springframework.util.ClassUtils.forName(ClassUtils.java:250) at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:401) at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:392) ... 12 more
上网查询了一下说是jdk版本问题,运行环境需要jdk1.8,实际是jdk1.7,所以需要修改项目的编译环境:https://www.cnblogs.com/jpfss/p/9036645.html,按照链接中的步骤操作之后
貌似改过来了,但是项目上有个红色叉,不爽,于是更新了一下maven,然后红叉消失了,但是编译环境又恢复成了javaSE-1.7, 无语了。。。
于是有上网搜索一下,https://blog.csdn.net/u011095110/article/details/56279020说是可以直接在pom.xml文件中直接指定jdk版本,或者在maven的配置文件settings.xml中直接指定jre版本,额?不管有没有用,但好像这并不是我想要的,于是再次修改项目的编译环境,再次改成jdk1.8,项目上再次有个红叉。。。突然想到eclipse有个problems的窗口,果断打开,然后,然后就发现问题了
突然想到了还有个地方没改,于是点击项目--》右键--》Properties--》Project Facets把java版本改成1.8,点击apply,再看项目,果然成功了!
成功后如下图
果然是新手,发现问题就是比较慢!