Unsupported major.minor version 52.0 問題解決
今天在學習selenium的時候,執行程式報如下錯誤:
java.lang.UnsupportedClassVersionError:org/openqa/selenium/WebDriver : 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(NativeMethod
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 java.lang.Class.getDeclaredMethods0(NativeMethod)
at java.lang.Class.privateGetDeclaredMethods(
at java.lang.Class.privateGetPublicMethods(Class.java:2743)
at java.lang.Class.getMethods(Class.java:1480)
at org.testng.internal.TestNGClassFinder.<init>(TestNGClassFinder.java:60)
at org.testng.TestRunner.initMethods(TestRunner.java:402)
at org.testng.TestRunner.init(TestRunner.java:228)
at org.testng.TestRunner.init(TestRunner.java:198)
at org.testng.TestRunner.<init>(TestRunner.java:154)
at org.testng.remote.support.RemoteTestNG6_0$1.newTestRunner(RemoteTestNG6_0.java:26)
atorg.testng.remote.support.RemoteTestNG6_0$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_0.java:59)
at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:561)
at org.testng.SuiteRunner.init(SuiteRunner.java:156)
at org.testng.SuiteRunner.<init>(SuiteRunner.java:110)
at org.testng.TestNG.createSuiteRunner(TestNG.java:1235)
at org.testng.TestNG.createSuiteRunners(TestNG.java:1222)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1074)
at org.testng.TestNG.run(TestNG.java:999)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
Java執行環境設定一致,都是JDK1.7,selenium包版本是3.7。
百度發現selenium-Java3.7的執行環境必須是jdk1.8。
測試了以下兩種方法都可以解決:
一、首先將jdk1.7升級到jdk1.8
然後修改Windows-Preferences-Java-Compiler(設定為1.8)
Windows-Preferences-Java-Installed JREs(新增jdk1.8的安裝路徑)
專案-右鍵-Build Path-Configure Build Path-Libraries(將jdk1.7jar包換成1.8)
專案-右鍵-Properties-Java Compiler(設定為1.8)
二、將selenium-Java3.7的包換成selenium-Java2.4(jdk1.7環境)
在專案中選擇pom.xml檔案,如圖所示,
將version下的LATEST修改為3.0以下版本
(注:注意selenium與火狐瀏覽器版本的對應關係。)