【问题标题】:java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbookjava.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook
【发布时间】:2011-09-21 20:04:55
【问题描述】:
java.lang.NoClassDefFoundError:org/apache/poi/hssf/usermodel/HSSFWorkbook

这是一个 java web 项目。 java项目没问题,但是在web中,我得到了这个异常。

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)

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-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>

【问题讨论】:

  • Apache POI jar 在您的战争 (WEB-INF/lib) 中可用吗?

标签: java maven classpath apache-poi noclassdeffounderror


【解决方案1】:

您需要将Apache POI文件放在服务器的WEB-INF/lib文件夹中。

【讨论】:

  • 使用maven添加依赖,所有的库都在maven库中可用。建立一个战争,并发布到tomcat,就可以了。但是...
【解决方案2】:

检查.m2 目录并尝试查找类HSSFWorkbook 如果存在此类,请检查您的Web 应用程序的lib 文件夹并尝试找到相同的。

【讨论】:

  • 我正在使用 Maven,并且这个 jar 文件已经存在于类路径中。现在如何解决这个问题?
【解决方案3】:
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.9</version>
</dependency>

【讨论】:

    猜你喜欢
    • 2017-10-26
    • 2019-05-27
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 2016-03-29
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多