從svn上down下來的源碼,在搭建本機環境的時候報錯
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
注意拋出的異常: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環境等。