intellij-idea - 由于版本不匹配,Neo4J 插件无法编译
问题描述
我见过这个问题的变体,但我还没有看到被接受的答案。我正在使用 IntelliJ IDEA 来简单地编译 Neo4J 在 GitHub 上发布的 TraversDemo 示例插件。当我运行 mvn clean package 时,我没有收到任何错误。但是,当我实际尝试将 .jar 文件放入 Neo4J Desktop 上的插件文件夹时。. . neo4j 无法识别插件。所以,我认为我的 .jar 文件有问题,我只是尝试在 IntelliJ 中“构建”java 文件。当我这样做时,我得到了这个错误:
模块“TraversalPlugIn”生产:java.lang.UnsupportedClassVersionError:org/neo4j/annotations/api/PublicApiAnnotationProcessor 已由 Java 运行时的更新版本(类文件版本 55.0)编译,此版本的 Java 运行时仅识别类文件高达 54.0 的版本
我检查并重新检查了我的 Java(适用于 Windows 10)是 Java 8。我检查了 Java 配置 GUI 并要求更新。它说我有最新版本。有谁知道如何解决这个问题?我已经尝试在构建、执行、部署 Java 编译器中使用各种选项。似乎没有任何组合有效。
解决方案
我终于解决了这个问题。解决方案是:(i)剪切现有的java代码(和POM文件);(ii) 完全删除原项目;(iii) 创建一个新的 maven 项目,但这次选择 JDK 16 作为 SDK;(iv) 将 Java 代码和 POM xml 粘贴到新项目中。然后我构建它,并运行 maven clean package,将目标快照插入到插件文件夹中,然后......它终于工作了。
推荐阅读
- java - 如何在不锁定文件的情况下获取文件大小
- ffmpeg - FFMPEG 合并源
- sql - 存储过程中的变量
- c# - 在“长”间隔后完成可观察序列
- postgresql - 用于 BETWEEN 和 ORDER BY 的 Postgresql 多列索引
- php - 使 SQL 查询仅选择 WHERE 条件之一
- e-commerce - 在 Kentico 中以编程方式注入翻译产品时出错,我做得对吗?
- css - 我在将 Css 文件链接到 Django 模板时遇到问题
- python - 自定义词形还原词并附加到 WordNetLemmatizer
- sql - 尝试使用 dplyr 在 R 中的 SQL 数据库中选择/过滤数据