tomcat - 无法在 Tomcat 10 上运行 JSF 应用程序
问题描述
我正在尝试在 Apache Tomcat 10 上运行 JSF 应用程序。在网上广泛搜索后,我最终在 Stack Overflow 上找到了这篇文章。为了包含正确的依赖项,我按照帖子中的说明进行操作。但是,我仍然得到一个例外。
这是我的 POM 文件和异常。
<dependencies>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-web-api</artifactId>
<version>9.1.0</version>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.servlet.jsp</groupId>
<artifactId>jakarta.servlet.jsp-api</artifactId>
<version>3.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.el</groupId>
<artifactId>jakarta.el-api</artifactId>
<version>4.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.websocket</groupId>
<artifactId>jakarta.websocket-api</artifactId>
<version>2.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.security.enterprise</groupId>
<artifactId>jakarta.security.enterprise-api</artifactId>
<version>2.0.0</version>
<scope>provided</scope>
</dependency>
<!-- prime faces -->
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>7.0</version>
</dependency>
<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>all-themes</artifactId>
<version>1.0.10</version>
</dependency>
<!-- Ezimax common -->
<dependency>
<groupId>za.co.ezimax</groupId>
<artifactId>common</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
例外:
ov 09, 2021 4:57:46 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet [faces]
java.lang.ClassNotFoundException: com.sun.faces.util.Util
at jakarta.faces.CurrentThreadToServletContext.getFactoryFinder(CurrentThreadToServletContext.java:52)
at jakarta.faces.FactoryFinder.getFactory(FactoryFinder.java:260)
at jakarta.faces.webapp.FacesServlet.acquireFacesContextFactory(FacesServlet.java:483)
at jakarta.faces.webapp.FacesServlet.init(FacesServlet.java:328)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1135)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1090)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:762)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:353)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:870)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1696)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833)
解决方案
推荐阅读
- rest - 需要基于云建议的微服务架构
- php - 将数组中的数据加载和求和到变量中
- arrays - 基于字符串数组对自定义数组进行排序
- spring - 无法反序列化 Spring 云流 kstreams 中的 GenericData avro 数据
- postgresql - 使用来自多个表和列的数据在表上创建索引
- javascript - 如何为输入设置模式或格式
- node.js - 如何使用 Nestjs 中的请求范围提供程序动态更改数据库连接?
- shell - 如何使用 awk 命令打印不带双引号的空字符串
- javascript - 如何在 HTML 中显示最大行数并自动创建新表格?
- ios - 在 Button 中,罢工越来越好,但无法取消罢工