服务器将不运行:原因:java.lang.ClassNotFoundException:org.apache.poi.ss.usermodel.Workbook
我正在尝试使用tomcat 9服务器运行我的web应用程序,但我不断收到相同的错误: 原因:java.lang.ClassNotFoundException:org.apache.poi.ss.usermodel.工作簿 我还尝试了添加poi ooxml,但没有成功。也只是用poi试过,不起作用 我做错了什么 进口:服务器将不运行:原因: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
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插件-