解决java.lang.IllegalArgumentException: URI is not hierarchical报错的问题

 更新时间:2025年06月04日 09:36:18   作者:玹之又玹  
这篇文章主要介绍了解决java.lang.IllegalArgumentException: URI is not hierarchical报错的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

java.lang.IllegalArgumentException: URI is not hierarchical

Thread.currentThread().getContextClassLoader("类的全路径").getClass().newInstance()

一个类的静态块初始化异常了,后面调用这个类创建对象会报错吗?

是的,如果一个类的静态块初始化过程中抛出了异常,后续任何尝试创建该类的对象或访问该类的静态成员都会失败,并抛出 ExceptionInInitializerError 或显示 "Could not initialize class ClassName" 的错误。

这是因为Java类加载机制的工作方式

  • 当 JVM 第一次遇到一个类时(通过创建对象、访问静态成员等方式),它会触发类加载过程
  • 类加载过程包括:加载、验证、准备、解析和初始化几个步骤
  • 在初始化阶段,JVM 会执行类的静态初始化块和静态字段初始化
  • 如果在这个过程中抛出了任何异常,那么类的初始化会失败
  • 一旦类初始化失败,JVM 会将该类标记为不可用状态
  • 之后任何尝试使用该类的操作都会导致 NoClassDefFoundError 或者显示 "Could not initialize class ClassName" 的错误

这就是为什么当 HiveConf 类的静态初始化块失败后,后续调用 HiveConf.setHiveSiteLocation(null) 或创建 HiveConf 对象时会报错:

"Could not initialize class org.apache.hadoop.hive.conf.HiveConf" 

要解决这个问题,您需要修复导致静态初始化块失败的根本原因,在这种情况下,就是解决 URI is not hierarchical 错误。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java 程序员必备的 Intellij IDEA 插件

    Java 程序员必备的 Intellij IDEA 插件

    java插件十分方便实用,以下是我用过不错的Intellij插件,当然还有很多插件也都不错,下面将我觉得不错的插件分享给大家,希望能帮到大家
    2018-09-09
  • 基于Maven的pom.xml文件详解

    基于Maven的pom.xml文件详解

    下面小编就为大家带来一篇基于Maven的pom.xml文件详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • java中Servlet程序下载文件实例详解

    java中Servlet程序下载文件实例详解

    在本篇文章里小编给大家整理的是一篇关于java中Servlet程序下载文件实例内容,有兴趣的朋友们可以学习参考下。
    2021-02-02
  • mybatis-plus IdWorker生成的Id和返回给前台的不一致的解决

    mybatis-plus IdWorker生成的Id和返回给前台的不一致的解决

    这篇文章主要介绍了mybatis-plus IdWorker生成的Id和返回给前台的不一致的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 搭建Spring MVC和Vue3的应用程序的实现

    搭建Spring MVC和Vue3的应用程序的实现

    本文主要介绍了搭建Spring MVC和Vue3的应用程序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • Spring Cloud如何切换Ribbon负载均衡模式

    Spring Cloud如何切换Ribbon负载均衡模式

    这篇文章主要介绍了Spring Cloud如何切换Ribbon负载均衡模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Java文件、文件夹权限修改的两种方法

    Java文件、文件夹权限修改的两种方法

    这篇文章主要给大家介绍了关于Java文件、文件夹权限修改的两种方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • IntelliJ IDEA 2024.2 发布新功能介绍Spring Data JPA即时查询、自动补全cron表达式

    IntelliJ IDEA 2024.2 发布新功能介绍Spring Data JPA即时查询、自动补全cro

    在2024.2 Ultimate版本中,对 Spring Data JPA 的支持做了增强,新功能允许您在不运行应用程序和分析日志文件的情况下查看方法将生成的查询,下面就来一起看看这个版本中推出的几个强大新特性
    2024-08-08
  • SprintBoot深入浅出讲解场景启动器Starter

    SprintBoot深入浅出讲解场景启动器Starter

    本篇文章将和大家分享一下 Spring Boot 框架中的 Starters 场景启动器的内容,关于 Starters 具体是用来做什么的,以及在开发 Spring Boot项目前,要如何自定义一个 Starters 场景启动器
    2022-06-06
  • 一文教你如何使用Java灵活读取Excel内容

    一文教你如何使用Java灵活读取Excel内容

    这篇文章主要给大家介绍了关于如何使用Java灵活读取Excel内容的相关资料,读取Excel数据是Java开发中常见的任务,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-09-09

最新评论