从svn上down下来的源码,在搭建本机环境的时候报错
1 Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apdplat/word/analysis/TextSimilarity : Unsupported major.minor version 52.0 2 at java.lang.ClassLoader.defineClass1(Native Method) 3 at java.lang.ClassLoader.defineClass(Unknown Source) 4 at java.security.SecureClassLoader.defineClass(Unknown Source) 5 at java.net.URLClassLoader.defineClass(Unknown Source) 6 at java.net.URLClassLoader.access$100(Unknown Source) 7 at java.net.URLClassLoader$1.run(Unknown Source) 8 at java.net.URLClassLoader$1.run(Unknown Source) 9 at java.security.AccessController.doPrivileged(Native Method) 10 at java.net.URLClassLoader.findClass(Unknown Source) 11 at java.lang.ClassLoader.loadClass(Unknown Source) 12 at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 13 at java.lang.ClassLoader.loadClass(Unknown Source) 14 at com.platform.config.run.JfinalConfig.afterJFinalStart(JfinalConfig.java:184) 15 at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:55) 16 at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119) 17 at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 18 at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724) 19 at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265) 20 at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 21 at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706) 22 at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492) 23 at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 24 at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) 25 at org.eclipse.jetty.server.Server.doStart(Server.java:277) 26 at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 27 at com.jfinal.server.JettyServer.doStart(JettyServer.java:135) 28 at com.jfinal.server.JettyServer.start(JettyServer.java:67) 29 at com.jfinal.core.JFinal.start(JFinal.java:154) 30 at com.platform.config.run.JfinalConfig.main(JfinalConfig.java:210)
在各种网站上查阅了一下,说是用低版本的JDK编译高版本的.class就会报这个错,有以下两种易发生的情况:
1,命令行输入java -version和javac -version发现版本不一致,修改之;
2,版本一致则检查Path路径,一般安装oracle的机子配置jdk的时候会覆盖路径,修改之。
但是!
一,我没有装Oracle;
Path路径为:
d:\data\mblog\graphicsmagick-1.3.23-q8;
C:\Windows\system32;
C:\Windows;
C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
D:\jdk1.7\bin;
D:\jdk1.7\jre\bin;
D:\mysqlinstallation\MySQL Utilities 1.3.6\;
D:\maven\apache-maven-3.3.9\bin;
二,javac -version
下是java version “1.7.0_13”
java -version下是
javac 1.7.0_13
所以,现在问题会出现在哪儿呢?
我使用的是eclipse,jfinal,maven
使用eclipse不需要配置Windows下的环境变量,在eclipse任务栏window->preference->Java-> Installed JREs 选择java7,若没有则选择add把本机上的java7添加进去,然后选择
所以呢?解决办法呢?
注意抛出的异常:Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apdplat/word/analysis/TextSimilarity : Unsupported major.minor version 52.0
前者(UnsupportedClassVersionError)表示jdk版本问题,后者(52.0)表示jdk1.8编译的.class文件在jdk1.7的环境上运行了;
尤其,我使用的是jfinalUIB-v2-maven;
升级后的版本,做了部分改动,其中升级jfinal为2.0,更换UI,基于maven构造,项目代码有微小的调整,jdk8;
so,问题很明显,我只需要更新jdk就好了,但是老版本eclipse不兼容jdk1.8,只能重新下载了,重新配置maven环境等。
稍后启动项目,容易报错,多数修改run configuratioins就可以了。