eclipse Could not initialize class com.ibm.icu.impl.JavaTimeZone错误的解决办法

      eclipse突然就出问题了,经常会弹出窗口 An internal error occurred during: "Launching Eclipse Application".java.lang.NoClassDefFoundError: Could not initialize class com.ibm.icu.impl.JavaTimeZone

 

debug也不能启动 而且export点击finish也不管用 最后在终于找到了解决办法。。。

 

1. 将你的eclipse安装目录下的plugins文件夹下的com.ibm.icu_4.0.1.v20090822.jar 直接打开 (不要解压) ,用记事本之类的软件打开文件 com/ibm/icu/ICUConfig.properties

2。

com.ibm.icu.util.TimeZone.DefaultTimeZoneType = JDK

替换成
com.ibm.icu.util.TimeZone.DefaultTimeZoneType = ICU
直接关闭保存

3.命令行下进入eclipse的安装目录 运行eclipse.exe -clean
清除eclipse的cache缓存///(建议可以在做完第二步的时候先打开eclipse看看。如果问题没有解决在执行第三步)

最后运行eclipse可以看到问题已经解决了。

### 解决 `com.github.pagehelper.parser.impl.AbstractParser` 初始化问题 当遇到无法初始化 `com.github.pagehelper.parser.impl.AbstractParser` 的情况时,通常是因为配置或依赖项存在问题。以下是可能的原因及解决方案: #### 1. 检查 Maven 或 Gradle 中的依赖版本 确保项目中的 PageHelper 版本是最新的稳定版,并且与其他 MyBatis 和 Spring Boot 组件兼容。 ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>${PageHelper.version}</version> </dependency> ``` 此部分应与项目的其他组件保持一致[^1]。 #### 2. 验证 MyBatis 配置文件设置 MyBatis XML 文件需正确引入并配置分页插件 PageHelper 插件。确认 DTD 声明无误以及 plugin 节点内的路径是否准确指向实际存在的拦截器类。 ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 此处配置分页插件 --> <plugins> <plugin interceptor="com.github.pagehelper.PageHelper"/> </plugins> </configuration> ``` 上述配置应当放置于 mybatis-config.xml 或者 application.yml/yml 中相应位置[^2]。 #### 3. 抽象解析器实现细节 对于抽象类 AbstractParser 来说,其子类应该重写 parse 方法完成具体 SQL 文字串处理逻辑。如果应用程序试图实例化此类,则表明可能存在设计模式上的误解;因为该类被声明为 abstract 即意味着它不应该直接创建对象而是通过继承自它的非abstract 子类来进行操作。 因此建议开发者检查代码中是否有尝试显式调用 new AbstractParser() 这样的语句存在——这通常是错误的做法。相反地,应该让具体的 Parser 实现去负责执行特定类型的查询分析工作。 另外值得注意的是,某些情况下 IDE 可能会提示找不到默认构造函数而报错,这是因为 Eclipse/IntelliJ IDEA 默认认为所有 Java 类都有 public no-args 构造方法除非特别指定了 private final 等修饰符。但对于抽象基类而言,默认是没有提供公有无参构造器的,所以这也是正常现象不必担心。 最后提醒一点就是关于静态内部类加载顺序的问题也可能影响到外部访问权限,不过这种情况较为少见在此不做深入讨论。 ```java public class CustomDialect extends AbstractParser { @Override protected void parse(String sql) { // Implement custom parsing logic here. } } ``` 以上示例展示了如何扩展 `AbstractParser` 创建自己的方言处理器。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a570056568

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值