Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.ClassNotFoundException:org.apache.poi.ss.usermodel.Workbook_Java_Excel_Apache_Maven_Classnotfoundexception - Fatal编程技术网

java.lang.ClassNotFoundException:org.apache.poi.ss.usermodel.Workbook

java.lang.ClassNotFoundException:org.apache.poi.ss.usermodel.Workbook,java,excel,apache,maven,classnotfoundexception,Java,Excel,Apache,Maven,Classnotfoundexception,我正在尝试访问Apache工作簿模块中的excel文件。代码有时运行得很好,但大多数情况下,我会收到一个错误,即: 例外情况 javax.servlet.ServletException:servlet执行引发异常 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 根本原因 java.lang.NoClassDefFoundError:org/apache/poi/ss/usermodel/工作簿 根本原

我正在尝试访问Apache工作簿模块中的excel文件。代码有时运行得很好,但大多数情况下,我会收到一个错误,即:

例外情况

javax.servlet.ServletException:servlet执行引发异常 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

根本原因

java.lang.NoClassDefFoundError:org/apache/poi/ss/usermodel/工作簿

根本原因

java.lang.ClassNotFoundException:org.apache.poi.ss.usermodel.Workbook

我查了一下,发现这是一个jar文件问题。试图从我这边解决它,但我仍然得到同样的错误

这是我的
pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>XYZ</groupId>
    <artifactId>ABC</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>ScriptsGenerator Maven Webapp</name>
    <url>http://maven.apache.org</url>
  <dependencies>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
      </dependency>
      <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.15</version>
      </dependency>
    <dependency>
        <groupId>org.lucee</groupId>
        <artifactId>poi-ooxml-schemas</artifactId>
        <version>3.15.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
            <version>3.15</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
    <dependency>
            <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
    <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>1.1.1</version>
    </dependency>
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.10</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.5.8</version>
      </dependency>
      <!-- https://mvnrepository.com/artifact/org.apache.xmlbeans/xmlbeans -->
    <dependency>
        <groupId>org.apache.xmlbeans</groupId>
        <artifactId>xmlbeans</artifactId>
        <version>2.6.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
    <dependency>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>1.6.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 -->
    <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-collections4</artifactId>
       <version>4.1</version>
    </dependency>
    <dependency>
  <groupId>commons-fileupload</groupId>
  <artifactId>commons-fileupload</artifactId>
  <version>1.2</version>
  </dependency>

    </dependencies>
    <build>
      <finalName>AAAA</finalName>
    </build>
  </project>

4.0.0
XYZ
基础知识
战争
0.0.1-快照
ScriptsGenerator Maven Webapp
http://maven.apache.org
朱尼特
朱尼特
3.8.1
测试
org.apache.poi
poi
3.15
org.lucee
poi ooxml模式
3.15.0
org.apache.poi
poi ooxml
3.15
javax.servlet
javax.servlet-api
3.1.0
com.googlecode.json-simple
简单json
1.1.1
公用记录
公用记录
1.2
通用编解码器
通用编解码器
1.10
log4j
log4j
1.2.17
org.apache.struts
struts2型芯
2.5.8
org.apache.xmlbeans
xmlbeans
2.6.0
dom4j
dom4j
1.6.1
org.apache.commons
公共集合4
4.1
文件上传
文件上传
1.2
AAAA

我哪里出错了?

请检查是否下载了apache poi JAR

还可以尝试对poi ooxml模式使用以下依赖关系

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml-schemas</artifactId>
    <version>3.15</version>
</dependency>

org.apache.poi
poi ooxml模式
3.15

清理项目,删除{User\u Directory}/.m2文件夹的内容,然后重新运行项目

在windows系统下,您可以找到maven repo路径,如下所示 C:\Users\{user\u name}\.m2

在linux系统下,您可以找到maven repo路径为/home/{user_name}/.m2


看起来您是在一个servlet容器中运行它,这可能意味着该容器有自己的一组jar文件。例如,对于Tomcat,它将位于Tomcat/lib目录中。检查servlet容器正在使用的jar,看看其中是否有一个与您正在使用的jar不兼容


你要找的是一个旧版本的poi,它没有你需要的类。如果这样一个jar存在,并且在正确的jar之前加载,那么它可能会导致您看到的问题,即使您的web应用本身有正确的版本

我进入属性>Java构建路径>库。我看到了Maven Dependencies下的JAR,没有看到.m2文件夹。你能帮我吗?如果你没有强制更改maven设置,.m2文件夹必须在你的用户/主目录中。我不知道如何检查JAR是否兼容。你能详细说明一下吗?