简体   繁体   English

如何在 Apache 上运行 Java Server Faces tomcat 10

[英]How to run Java Server Faces on Apache tomcat 10

I'm using Apache Tomcat 10 together with Java JDK 16, but it's giving an error when configuring the Java server faces:我正在使用 Apache Tomcat 10 和 Java JDK 16,但是在配置 Java 服务器面时出现错误:

24-Sep-2021 13:57:24.063 SEVERE [http-nio-8080-exec-55] org.apache.catalina.core.StandardContext.loadOnStartup Servlet [Faces Servlet] in web application [/WebJsf] threw load() exception java.lang.ClassNotFoundException: com.sun.faces.util.Util 2021 年 9 月 24 日 13:57:24.063 严重 [http-nio-8080-exec-55] org.apache.catalina.core.StandardContext.loadOnStartup Servlet [Faces Servlet] 在 web 应用程序 [/WebJsf] 中抛出 load() 异常java.lang.ClassNotFoundException:com.sun.faces.util.Util

<code>
    <parent>
        <groupId>jakarta.platform</groupId>
        <artifactId>jakartaee-api-parent</artifactId>
        <version>9.1.0</version>
    </parent>

    <dependencies>
        
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>${jakarta.servlet-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.servlet.jsp</groupId>
            <artifactId>jakarta.servlet.jsp-api</artifactId>
            <version>${jakarta.servlet.jsp-api.version}</version>
            <scope>compile</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.el</groupId>
            <artifactId>jakarta.el-api</artifactId>
            <version>${jakarta.el-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.servlet.jsp.jstl</groupId>
            <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
            <version>${jakarta.servlet.jsp.jstl-api.version}</version>
            <optional>true</optional> 
        </dependency> 
        
        <dependency>
            <groupId>jakarta.faces</groupId>
            <artifactId>jakarta.faces-api</artifactId>
            <version>${jakarta.faces-api.version}</version>
            <scope>compile</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.ws.rs</groupId>
            <artifactId>jakarta.ws.rs-api</artifactId>
            <version>${jakarta.ws.rs-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.websocket</groupId>
            <artifactId>jakarta.websocket-api</artifactId>
            <version>${jakarta.websocket-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.json</groupId>
            <artifactId>jakarta.json-api</artifactId>
            <version>${jakarta.json-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.json.bind</groupId>
            <artifactId>jakarta.json.bind-api</artifactId>
            <version>${jakarta.json.bind-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.annotation</groupId>
            <artifactId>jakarta.annotation-api</artifactId>
            <version>${jakarta.annotation-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.ejb</groupId>
            <artifactId>jakarta.ejb-api</artifactId>
            <version>${jakarta.ejb-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.transaction</groupId>
            <artifactId>jakarta.transaction-api</artifactId>
            <version>${jakarta.transaction-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.persistence</groupId>
            <artifactId>jakarta.persistence-api</artifactId>
            <version>${jakarta.persistence-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.validation</groupId>
            <artifactId>jakarta.validation-api</artifactId>
            <version>${jakarta.validation-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.interceptor</groupId>
            <artifactId>jakarta.interceptor-api</artifactId>
            <version>${jakarta.interceptor-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.enterprise</groupId>
            <artifactId>jakarta.enterprise.cdi-api</artifactId>
            <version>${jakarta.enterprise.cdi-api.version}</version>
            <optional>true</optional>
            <exclusions>
              <exclusion>
                  <groupId>jakarta.inject</groupId>
                  <artifactId>jakarta.inject-api</artifactId>
              </exclusion>
          </exclusions>
        </dependency>
        <dependency>
            <groupId>jakarta.inject</groupId>
            <artifactId>jakarta.inject-api</artifactId>
            <version>${jakarta.inject.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.authentication</groupId>
            <artifactId>jakarta.authentication-api</artifactId>
            <version>${jakarta.authentication-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.security.enterprise</groupId>
            <artifactId>jakarta.security.enterprise-api</artifactId>
            <version>${jakarta.security.enterprise-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.xml.bind</groupId>
            <artifactId>jakarta.xml.bind-api</artifactId>
            <version>${jakarta.xml.bind-api.version}</version>
        </dependency>

        <!-- work around for GLASSFISH-19861  -->         
         
        <dependency>
            <groupId>org.glassfish</groupId>
            <artifactId>jakarta.faces</artifactId>
           <version>4.0.0-M1</version> 
                <!--  <version>${mojarra.version}</version> -->
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish</groupId>
            <artifactId>jakarta.json</artifactId>
            <version>2.0.1</version>
        </dependency>
        
        <!-- ********************************* -->
        <dependency>
            <groupId>jakarta.security.auth.message</groupId>
            <artifactId>jakarta.security.auth.message-api</artifactId>
            <version>2.0.0-RC1</version>
            <scope>compile</scope>
        </dependency>
        
        <dependency>
            <groupId>org.glassfish.web</groupId>
            <artifactId>jakarta.servlet.jsp.jstl</artifactId>
            <version>2.0.0-M1</version>
        </dependency> 
        <dependency>
            <groupId>jakarta.platform</groupId>
            <artifactId>jakarta.jakartaee-api</artifactId>
            <version>9.1.0</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>jakarta.xml.ws</groupId>
            <artifactId>jakarta.xml.ws-api</artifactId>
            <version>4.0.0-RC1</version>
        </dependency>
 
        <!-- https://mvnrepository.com/artifact/org.primefaces/primefaces -->
        <dependency>
            <groupId>org.primefaces</groupId>
            <artifactId>primefaces</artifactId>
            <version>10.0.0</version>
            <classifier>jakarta</classifier>
        </dependency>
        <!-- https://mvnrepository.com/artifact/jakarta.xml.bind/jakarta.xml.bind-api-test -->
        <dependency>
            <groupId>jakarta.xml.bind</groupId>
            <artifactId>jakarta.xml.bind-api-test</artifactId>
            <version>3.0.1</version>
        </dependency>
        <!--
        <dependency>
            <groupId>org.glassfish.jaxb</groupId>
            <artifactId>jaxb-runtime</artifactId>
            <version>3.0.2</version>
        </dependency>-->
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>3.0.2</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.activation</groupId>
            <artifactId>jakarta.activation-api</artifactId>
            <version>2.1.0-RC1</version>
        </dependency>
   </dependencies>
</code>

If you declare an optional dependency (cf. documentation ), Maven does not package it in the WAR file (or any other artifact).如果您声明可选依赖项(参见文档),则 Maven 不会在 WAR 文件(或任何其他工件)中 package 它。 Therefore org.glassfish:jakarta.faces is not bundled with your WAR file.因此org.glassfish:jakarta.faces没有与您的 WAR 文件捆绑在一起。

Therefore you should use:因此你应该使用:

<dependency>
    <groupId>org.glassfish</groupId>
    <artifactId>jakarta.faces</artifactId>
    <version>4.0.0-M1</version>
</dependency>

(ie remove the <optional>true</optional> ). (即删除<optional>true</optional> )。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在启动Apache tomcat服务器而不是使用ScheduledExecutorService的Java类时定期运行javascript函数? - How to run javascript function periodically when the Apache tomcat server is starts instead of java class using ScheduledExecutorService? 如何在Apache Tomcat 6服务器中修复Java Spring MVC Web应用程序的运行时间? - How to fix java spring mvc web application run time in Apache Tomcat 6 server? 如何使用apache或tomcat服务器在docker中运行java应用程序 - How can i run java applications in docker using apache or tomcat server 如何使用java -server选项运行tomcat服务? - How to run tomcat service with java -server option? 如何在没有Tomcat的情况下在Apache 2.2上运行Java应用程序? - How can I run a Java app on Apache 2.2 without Tomcat? 如何在Apache Web服务器中配置tomcat Java应用程序? - How to configure tomcat java application in apache web server? 如何在Apache Tomcat中运行ReactApp? - How to run a ReactApp in Apache Tomcat? 如何将数据从Android应用程序发送到Java Server(Apache tomcat)? - How to send data from Android application to Java Server(Apache tomcat)? 如何在Apache(而非Tomcat)服务器上执行基于Java的OWL推理程序? - How to execute Java-based OWL reasoner on an Apache (not Tomcat) server? 无法在我的localhost上运行Apache Tomcat服务器? - Unable to run Apache Tomcat server on my localhost?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM