java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook

时间:2022-05-04 15:36:19
Caused by: java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook
at com.surekam.picc.util.XLSReader.open(XLSReader.java:57)
at com.surekam.picc.system.organ.web.OrganAction.organImport(OrganAction.java:352)
... 104 more
Caused by: java.lang.ClassNotFoundException: org.apache.poi.hssf.usermodel.HSSFWorkbook
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
... 106 more


说明:
在main函数里面可以运行,但是在web项目中不能运行!
我用的版本为3.7,在maven中配置如下:

<!-- apahce poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-examples</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.7</version>
</dependency>

16 个解决方案

#1


在main函数里面和web里面不太一样

web要到web-info底下的lib目录查找 jar

楼主是否构建类路径了?

#2


问题找到了,我打个war包放到tomcat webapp里面居然没报错。很可能是maven没有配置好,但具体不知道怎么配置。。。

#3


引用 2 楼 hyj956948933 的回复:
问题找到了,我打个war包放到tomcat webapp里面居然没报错。很可能是maven没有配置好,但具体不知道怎么配置。。。


那楼主要研究一下maven的编译方式了。

是要通过maven的发布方式,而不是通过以前的形式。

#4


不是maven问题!!!!重新打包后报同样的错误。。。

#5


自己再顶顶。。

#6


重新打war包还报java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook?
楼主你看看你的web下的lib里是否有这个类,确认下,一般有了就不会有这个问题的。

#7


lib下面少jar包

#8


顶一下

#9


引用 6 楼 mumushijie 的回复:
重新打war包还报java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook?
楼主你看看你的web下的lib里是否有这个类,确认下,一般有了就不会有这个问题的。


我的lib包下有相关poi的包,打war包后,也有相应的poi包。版本都是poi3.7的

#10


其中有一次莫名其妙的成功过。但后面就一直没有成功。

#11


我的程序也是这样的错误,你得好了吗。楼主

#12


可能是jdk版本的问题,看看poi是用的jdk那个版本

#13


最后我没也弄了!

#14


遇到同样的问题了,求解????

#15


  手动把poi jar相关的包拷贝到tomcat下!我的行了

#16


这方法不错
引用 1 楼  的回复:
在main函数里面和web里面不太一样

web要到web-info底下的lib目录查找 jar

楼主是否构建类路径了?

#1


在main函数里面和web里面不太一样

web要到web-info底下的lib目录查找 jar

楼主是否构建类路径了?

#2


问题找到了,我打个war包放到tomcat webapp里面居然没报错。很可能是maven没有配置好,但具体不知道怎么配置。。。

#3


引用 2 楼 hyj956948933 的回复:
问题找到了,我打个war包放到tomcat webapp里面居然没报错。很可能是maven没有配置好,但具体不知道怎么配置。。。


那楼主要研究一下maven的编译方式了。

是要通过maven的发布方式,而不是通过以前的形式。

#4


不是maven问题!!!!重新打包后报同样的错误。。。

#5


自己再顶顶。。

#6


重新打war包还报java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook?
楼主你看看你的web下的lib里是否有这个类,确认下,一般有了就不会有这个问题的。

#7


lib下面少jar包

#8


顶一下

#9


引用 6 楼 mumushijie 的回复:
重新打war包还报java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook?
楼主你看看你的web下的lib里是否有这个类,确认下,一般有了就不会有这个问题的。


我的lib包下有相关poi的包,打war包后,也有相应的poi包。版本都是poi3.7的

#10


其中有一次莫名其妙的成功过。但后面就一直没有成功。

#11


我的程序也是这样的错误,你得好了吗。楼主

#12


可能是jdk版本的问题,看看poi是用的jdk那个版本

#13


最后我没也弄了!

#14


遇到同样的问题了,求解????

#15


  手动把poi jar相关的包拷贝到tomcat下!我的行了

#16


这方法不错
引用 1 楼  的回复:
在main函数里面和web里面不太一样

web要到web-info底下的lib目录查找 jar

楼主是否构建类路径了?