Unsupported major.minor version緣由一種及解決

問題

在一個遺留的Java web 項目中 (jdk7+spring4) 引入了Mockitojava

<dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>3.3.3</version>
            <scope>test</scope>
        </dependency>

可是運行單元測試的時候就報錯web

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/mockito/junit/MockitoJUnitRunner : Unsupported major.minor version 52.0

idea中全部地方都配置的是jdk7 怎麼會有這個錯呢spring

緣由

rebuild項目的時候 發現了以下的Warning信息ide

Warning:java: /Users/zhugw/.m2/repository/org/mockito/mockito-core/3.3.3/mockito-core-3.3.3.jar!/org/mockito/Answers.class: major version 52 is newer than 51, the highest major version supported by this compiler.
  It is recommended that the compiler be upgraded.

原來Mockito-core-3.3.3.jar自己就是由jdk8編譯的單元測試

➜  .m2 javap -v -cp .//repository/org/mockito/mockito-core/3.3.3/mockito-core-3.3.3.jar org/mockito/Answers
Classfile jar:file:/Users/zhugw/.m2/repository/org/mockito/mockito-core/3.3.3/mockito-core-3.3.3.jar!/org/mockito/Answers.class
  Last modified Mar 13, 2020; size 2582 bytes
  MD5 checksum 001d1b92852a41c0f732f007b31d97ac
  Compiled from "Answers.java"
public final class org.mockito.Answers extends java.lang.Enum<org.mockito.Answers> implements org.mockito.stubbing.Answer<java.lang.Object>
  minor version: 0
  major version: 52

因此和idea的配置無關測試

解決

改用低版本ui

<dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>2.28.2</version>
            <scope>test</scope>
        </dependency>
相關文章
相關標籤/搜索