maxwell重新編譯出現bug:类文件具有错误的版本 55.0, 应为 52.0 请删除该文件或确保该文件位于正确的类路径子目录中。

maxwell重新編譯出現bug

[ERROR] /C:/source_code/maxwell-1.29.2/maxwell-1.29.2/src/main/java/com/zendesk/maxwell/MaxwellHA.java:[3,19] 无法访问org.jgroups.JChannel
  错误的类文件: C:\software\apache-maven-3.5.4-bin\repo\org\jgroups\jgroups\5.1.2.Final\jgroups-5.1.2.Final.jar(org/jgroups/JChannel.class)
    类文件具有错误的版本 55.0, 应为 52.0
    请删除该文件或确保该文件位于正确的类路径子目录中。
[INFO] 1 error

出現的原因:

这个错误提示意味着您的Java版本不兼容该JChannel类文件的版本。
类文件版本是由编译器生成的,每个Java编译器都有一个目标JVM版本,用于编译Java源代码并生成类文件。在您的情况下,该JChannel类文件是使用编译器版本为Java 11或更高版本编译的,这导致了版本错误。
要解决此问题,您需要使用支持Java 11或更高版本的编译器来编译您的代码。或者,您可以尝试使用与该类文件版本兼容的Java版本(Java 11或更高版本)来运行您的应用程序。
如果您不想升级Java版本,您也可以尝试找到支持较低Java版本的JChannel类文件。您可以在JGroups的版本控制存储库中查找以前版本的JGroups,这些版本可能包含与Java 8兼容的JChannel类文件。

解決辦法:## 标题因為我使用的是jdk1.8的版本

方法一

使用高版本的jdk版本,我這裡使用了jdk11.0.18,完美的解決了問題。
以下是jdk11.0.18的下載地址:
https://www.techspot.com/downloads/5553-java-jdk.html(我使用了下載)
還有一個華為雲的鏡像地址:
https://repo.huaweicloud.com/java/jdk/

方法二(不推薦)

如果實在是在不改變jdk1.8的版本也可以實現
①在pom文件中修改jgroups-raft的版本,從1.0.0改為0.5.2

<dependency>
      <groupId>org.jgroups</groupId>
      <artifactId>jgroups-raft</artifactId>
      <version>0.5.2.Final</version>
    </dependency>
  </dependencies>

改了之後會出現如下錯誤:

[INFO] -------------------------------------------------------------
[ERROR] /C:/source_code/maxwell-1.29.2/maxwell-1.29.2/src/main/java/com/zendesk/maxwell/MaxwellHA.java:[4,34] 找不到符号
  符号:   类 RaftLeaderException
  位置: 程序包 org.jgroups.protocols.raft
[INFO] 1 error

②將import org.jgroups.protocols.raft.RaftLeaderException;這行代碼注釋掉
maxwell重新編譯出現bug:类文件具有错误的版本 55.0, 应为 52.0 请删除该文件或确保该文件位于正确的类路径子目录中。_第1张图片

你可能感兴趣的:(maxwell,idea)