Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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_Maven_Apache Poi - Fatal编程技术网

服务器将不运行:原因:java.lang.ClassNotFoundException:org.apache.poi.ss.usermodel.Workbook

服务器将不运行:原因:java.lang.ClassNotFoundException:org.apache.poi.ss.usermodel.Workbook,java,maven,apache-poi,Java,Maven,Apache Poi,我正在尝试使用tomcat 9服务器运行我的web应用程序,但我不断收到相同的错误: 原因:java.lang.ClassNotFoundException:org.apache.poi.ss.usermodel.工作簿 我还尝试了添加poi ooxml,但没有成功。也只是用poi试过,不起作用 我做错了什么 进口: import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import o

我正在尝试使用tomcat 9服务器运行我的web应用程序,但我不断收到相同的错误: 原因:java.lang.ClassNotFoundException:org.apache.poi.ss.usermodel.工作簿 我还尝试了添加poi ooxml,但没有成功。也只是用poi试过,不起作用

我做错了什么

进口:

import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com</groupId>
    <artifactId>houseoftyping</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/jstl/jstl -->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <!-- javax-servlet -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
        <!-- mysql connector -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.15</version>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20200518</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>4.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>4.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>4.0.0</version>
        </dependency>
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>javax.mail-api</artifactId>
            <version>1.6.2</version>
        </dependency>
    </dependencies>
</project>

4.0.0
通用域名格式
打字室
0.0.1-快照
jstl
jstl
1.2
朱尼特
朱尼特
3.8.1
测试
javax.servlet
javax.servlet-api
4.0.1
假如
mysql
mysql连接器java
8.0.15
org.json
json
20200518
org.apache.poi
poi
4.0.0
org.apache.poi
poi ooxml模式
4.0.0
org.apache.poi
poi草稿行
4.0.0
javax.mail
javax.mail-api
1.6.2

在开发webapp时,所有依赖项对webapp类加载器都是可见的(通过将它们放在WEB-INF/lib中),这一点很重要。最简单的方法是maven创建一个.war而不是.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 
https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com</groupId>
  <artifactId>houseoftyping</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>

  <dependencies>
    [as before]
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.3.0</version>
        <configuration>
          <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

4.0.0
通用域名格式
打字室
0.0.1-快照
战争
[一如既往]
maven战争插件
3.3.0
假的

您确定已将所有依赖项打包到.war或WEB-INF/libs文件夹中吗?您的pom似乎不是在构建一个.war文件,而是一个.jar文件,它本身不包含任何依赖项。我如何才能将我的项目构建成一个war?war加上也许您需要maven war插件-