Maven缺少依赖:java.lang.ClassNotFoundException: org.apache.poi.openxml4j.exceptions.InvalidFormatExcepti

13 篇文章 0 订阅

1.报错描述

运行IpHelper类的时候,报错:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/openxml4j/exceptions/InvalidFormatException
	at com.ggstar.util.ip.IpHelper.getRegionRelationMap(IpHelper.java:88)
	at com.ggstar.util.ip.IpHelper.getIpRelation(IpHelper.java:58)
	at com.ggstar.util.ip.IpHelper.buildTrain(IpHelper.java:33)
	at com.ggstar.util.ip.IpHelper.<clinit>(IpHelper.java:27)
	at _1005SparkSQLproject.Log.IpUtils$.getCity(IpUtils.scala:12)
	at _1005SparkSQLproject.Log.IpUtils$.main(IpUtils.scala:16)
	at _1005SparkSQLproject.Log.IpUtils.main(IpUtils.scala)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.lang.ClassNotFoundException: org.apache.poi.openxml4j.exceptions.InvalidFormatException
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 12 more

2.原因

缺少pom依赖。

 

3.添加对应依赖

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.14</version>
        </dependency>
		
		<dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.14</version>
        </dependency>

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误提示是说在你的Java程序中引用了org.apache.poi.hssf.usermodel这个包,但是这个包不存在。可能是你没有正确地导入这个包,或者是你的项目中没有这个包的jar文件。你需要检查一下你的项目配置,确保这个包被正确地导入并且jar文件存在。 ### 回答2: 在Java编程中,如果出现“程序包org.apache.poi.hssf.usermodel不存在”的错误,通常是由于编程人员未正确导入 Apache POI 库所致。具体来说,Apache POIJava 中处理 Microsoft Office 格式文件的开源库,它包括对 Excel 文件的读写支持,而 org.apache.poi.hssf.usermodel 就是其中的一个包名。 为了解决这个错误,我们需要在项目中正确导入 Apache POI 库。具体步骤如下: 1、下载Apache POI库:我们可以在Apache POI的官方网站(https://poi.apache.org/)下载最新版的库文件。下载后将其解压缩,并记下它的路径。 2、添加Apache POI库:打开Java项目,右键单击项目,选中“Properties”(属性)菜单,然后在左侧菜单中选择“Java Build Path”(Java 编译路径),然后单击右侧的“Add Library”(添加库)按钮。 3、选择Apache POI库:在弹出的向导中选择“User Library”(用户库),然后单击右侧的“Next”按钮。在下一个窗口中单击“User Libraries”按钮,然后单击“New”(新建)按钮。 4、配置Apache POI库:在新建用户库对话框中,输入一个名称,并选中“Add External JARs”(添加外部JAR文件)按钮。然后浏览到第一步中解压缩的Apache POI文件夹,并选择其中的 poi-4.1.2.jar 文件。然后单击确定,然后再单击Finish按钮。 5、应用Apache POI库:单击“Java Build Path”窗口的“Apply”按钮保存更改。 6、编写代码:在Java程序中,通过import语句导入 Apache POI 库即可使用 org.apache.poi.hssf.usermodel 包,如import org.apache.poi.hssf.usermodel.HSSFWorkbook。 总之,解决“程序包org.apache.poi.hssf.usermodel不存在”的报错需要正确导入Apache POI库文件,并在程序中导入对应的包。 ### 回答3: 这个问题是因为程序找不到org.apache.poi.hssf.usermodel这个包。 起初需要留意的是,这是一个Java的错误, 因此需要使用Java IDE,Java编译器进行排查。而org.apache.poi.hssf.usermodel这个包属于Apache POI这个Java库的一部分。所以,如果想要使用这个包,需要先安装并导入Apache POI库。 APACHE POI 是一个开源项目,是为了支持OLE2 Filesystem的一个基础 JAVA类库,他能够帮助开发人员快速对Microsoft Office格式档案进行读和写的操作。而org.apache.poi.hssf.usermodel这个包是用来支持excel文件的工具。 如果使用maven做为项目构建工具,可以通过以下方式在pom.xml文件中添加Apache POI依赖: ``` <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.0.0</version> </dependency> ``` 如果手动下载和导入jar包,可以到官方网站上下载,导入到项目的classpath路径中即可使用org.apache.poi.hssf.usermodel这个包。 当安装并导入Apache POI库之后,还需要检查一下代码中是否正确地引用了这个包,是否使用了正确的包名等。如果还有其他错误,可以尝试重新编译或重新安装库。 总而言之,java: 程序包org.apache.poi.hssf.usermodel不存在这个问题的解决方法就是导入Apache POI库,并在代码中正确使用这个包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值