idea插件开发报错: ZipException opening “slf4j.jar“: zip END header not found

错误信息

复制代码
E:\idea-workspace\#idea-plugin\JSON2Object\src\main\java\com\hgy\plugin\json2object\GenerateAction.java:1: 错误: 无法访问com.hgy.plugin.json2object
package com.hgy.plugin.json2object;
^
  ZipException opening "slf4j.jar": zip END header not found

错误原因

运行时候包了这个错误, 其实"ZipException opening "slf4j.jar": zip END header not found"这个错误是由于 "无法访问com.hgy.plugin.json2object" 错误导致的, 编译时候就报了无法访问, 所以要找到无法访问的原因

经过一番分析处理发现是插件引入的idea版本问题, 可是是2021.2和jdk11有兼容性问题吧

js 复制代码
intellij {
//    version.set("2021.2") 这个版本有问题
    version.set("2022.1.4") // 升级成这个版本可以正常使用
    type.set("IC") // Target IDE Platform

    plugins.set(listOf(/* Plugin Dependencies */))
}

走的弯路

由于这里使用了com.sun.codemodel.JCodeModel特殊的类, 一直以为是com.sum.*的特殊包不能被解析, 所以各种百度google都找不到任何相关线索, 最后只能控制变量, 把所有的类全部删了, 然后弄了一个简单测试类, 编译竟然也不能通过, 此时问题就很明显了, 之前的判断是错误的, 就是插件项目依赖的组件个版本不兼容问题(jdk,gradle, intellij平台版本, intellij 插件扩展使用的版本), 最容易想到就是 intellij 插件扩展使用的版本版本问题, 升级一下, 果然解决问题

这么多年过去, 初中物理学的控制变量法依然非常受用, 但是有时候自己往往自以为是的忽略了这个最可靠有效的分析方法, 导致问题迟迟不能解决, 应该深刻反思, 不能先入为主判断, 如果此路不同, 应该停下反思, 而不是无头的到处找自己以为的答案。

相关推荐
StackNoOverflow1 分钟前
Maven 核心知识整理
java·maven
ekkcole2 分钟前
easyexcel2.2.10版本对本地文件指定行或多行样式处理
java·easyexcel
小七mod3 分钟前
【Nacos】Nacos1.4.x服务注册源码分析
java·spring cloud·微服务·nacos·源码·集群·注册中心
于先生吖7 分钟前
Java 打车小程序 APP 源码 顺风车滴滴跑腿系统完整实现
java·开发语言·打车系统
凌冰_10 分钟前
IDEA2025 基于 Jakarta EE 开发 Servlet + Thymeleaf
java·servlet
会员源码网19 分钟前
可变参数与数组混用导致的方法调用异常
java
xiaoye370820 分钟前
Spring Bean 生命周期自定义扩展示例
java·spring boot·spring
sanyii31313120 分钟前
k8s工作负载-ReplicaSet控制器
java·git·kubernetes
会员源码网21 分钟前
泛型通配符误用导致的类型转换致命异常
java
冬夜戏雪26 分钟前
【学习日记】
java·开发语言·数据库