java - 应用程序适用于 Wildfly,但不适用于 Tomcat

标签 java wildfly vaadin tomcat8 vaadin-flow

我创建了一个 Vaadin 应用程序,并且能够将其部署在 Wildfly 上,但是无法将其部署在 Tomcat 8.5 上。当我尝试将其部署到 Tomcat 上时,出现以下错误:

    Mar 05, 2019 9:22:10 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:CQT-2' did not find a matching property.
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/8.5.5
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Aug 31 2016 19:51:16 UTC
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         8.5.5.0
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Windows 7
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            6.1
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          amd64
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             C:\Program Files\Java\jdk1.8.0_181\jre
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.8.0_181-b13
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Oracle Corporation
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         D:\Public\workspace\development\.metadata\.plugins\org.eclipse.wst.server.core\tmp1
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         C:\Program Files\Apache Software Foundation\Tomcat 8.5
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=D:\Public\workspace\development\.metadata\.plugins\org.eclipse.wst.server.core\tmp1
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 8.5
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=D:\Public\workspace\development\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 8.5\endorsed
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1252
Mar 05, 2019 9:22:10 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.8.0_181\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_181/bin/server;C:/Program Files/Java/jre1.8.0_181/bin;C:/Program Files/Java/jre1.8.0_181/lib/amd64;C:\Ruby26-x64\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\SafeNet\Authentication\SAC\x64;C:\Program Files\SafeNet\Authentication\SAC\x32;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\nodejs\;C:\Program Files\Java\jre1.8.0_181\bin;C:\Program Files\Java\jdk1.8.0_181\bin;D:\Public\software\apache-maven-3.5.4-bin\apache-maven-3.5.4\bin;C:\Program Files\Git\cmd;C:\Ruby26-x64\bin;D:\Public\software\spring\spring-tool-suite-3.9.5.RELEASE-e4.8.0-win32-x86_64\sts-bundle\sts-3.9.5.RELEASE;;.
Mar 05, 2019 9:22:10 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8085"]
Mar 05, 2019 9:22:10 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Mar 05, 2019 9:22:10 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Mar 05, 2019 9:22:10 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Mar 05, 2019 9:22:10 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 926 ms
Mar 05, 2019 9:22:10 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Mar 05, 2019 9:22:10 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.5.5
Mar 05, 2019 9:22:14 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Mar 05, 2019 9:22:16 AM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar [file:/D:/Public/workspace/development/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/CQT-2/WEB-INF/lib/byte-buddy-1.9.3.jar] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19
    at org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:97)
    at org.apache.tomcat.util.bcel.classfile.ConstantPool.<init>(ConstantPool.java:54)
    at org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:174)
    at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:83)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2053)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:2000)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1970)
    at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1923)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1163)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:775)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5087)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1403)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Mar 05, 2019 9:22:20 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Mar 05, 2019 9:22:20 AM org.apache.catalina.core.ApplicationContext log
INFO: Initializing AtmosphereFramework
[localhost-startStop-1] INFO com.vaadin.cdi.CdiServletDeployer - Automatically deploying CDI Vaadin servlet to /*
[localhost-startStop-1] INFO com.vaadin.flow.server.startup.ServletDeployer - Skipping automatic servlet registration because there is already a Vaadin servlet with the name com.vaadin.cdi.CdiServletDeployer
[localhost-startStop-1] INFO com.vaadin.flow.server.startup.ServletDeployer - Automatically deploying Vaadin servlet with name frontendFilesServlet to /frontend/*
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFO: Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /*
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFO: Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework autoConfigureService
INFO: Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation
Mar 05, 2019 9:22:20 AM org.atmosphere.util.ForkJoinPool <init>
INFO: Using ForkJoinPool  java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power.
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework initWebSocket
INFO: Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol 
Mar 05, 2019 9:22:20 AM org.atmosphere.container.JSR356AsyncSupport <init>
INFO: JSR 356 Mapping path 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Installing Default AtmosphereInterceptors
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Dropping Interceptor org.atmosphere.interceptor.HeartbeatInterceptor
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them.
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Broadcaster Shared List Resources: false
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Broadcaster Polling Wait Time 100
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Shared ExecutorService supported: true
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Async I/O Thread Pool Size: 200
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Invoke AtmosphereInterceptor on WebSocket message true
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: HttpSession supported: true
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere is using DefaultAtmosphereObjectFactory for dependency injection and object creation
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/8.5.5 using javax.servlet/3.0 and jsr356/WebSocket API
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere Framework 2.4.30.vaadin1 started.
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFO: Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /*
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFO: Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework autoConfigureService
INFO: Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation
Mar 05, 2019 9:22:20 AM org.atmosphere.util.ForkJoinPool <init>
INFO: Using ForkJoinPool  java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power.
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework initWebSocket
INFO: Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol 
Mar 05, 2019 9:22:20 AM org.atmosphere.container.JSR356AsyncSupport <init>
INFO: JSR 356 Mapping path /frontend
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Installing Default AtmosphereInterceptors
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Dropping Interceptor org.atmosphere.interceptor.HeartbeatInterceptor
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:   org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them.
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT 
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Broadcaster Shared List Resources: false
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Broadcaster Polling Wait Time 100
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Shared ExecutorService supported: true
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Async I/O Thread Pool Size: 200
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Invoke AtmosphereInterceptor on WebSocket message true
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: HttpSession supported: true
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere is using DefaultAtmosphereObjectFactory for dependency injection and object creation
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/8.5.5 using javax.servlet/3.0 and jsr356/WebSocket API
Mar 05, 2019 9:22:20 AM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere Framework 2.4.30.vaadin1 started.
Mar 05, 2019 9:22:20 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler [http-nio-8085]
Mar 05, 2019 9:22:20 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler [ajp-nio-8009]
Mar 05, 2019 9:22:20 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 9823 ms
Mar 05, 2019 9:22:21 AM org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet com.vaadin.cdi.CdiServletDeployer as unavailable
Mar 05, 2019 9:22:21 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet com.vaadin.cdi.CdiServletDeployer
java.lang.ClassNotFoundException: javax.enterprise.inject.spi.BeanManager
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
    at java.lang.Class.getDeclaredFields(Class.java:1916)
    at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:110)
    at org.apache.catalina.core.DefaultInstanceManager.populateAnnotationsCache(DefaultInstanceManager.java:285)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:141)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1050)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:779)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)

为什么会发生这种情况?我该如何解决这个问题?谢谢。

我正在使用以下库,以防万一:

import java.security.SecureRandom;
import java.security.cert.X509Certificate;

import javax.annotation.PostConstruct;
import javax.enterprise.context.ApplicationScoped;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.inject.Inject;
import com.vaadin.flow.component.Composite;
import com.vaadin.flow.component.HasElement;
import com.vaadin.flow.component.Text;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.BeforeEnterEvent;
import com.vaadin.flow.router.BeforeEnterObserver;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.server.VaadinRequest;

最佳答案

正如您在堆栈跟踪中看到的,问题是在 Tomcat 上您得到一个

java.lang.ClassNotFoundException: javax.enterprise.inject.spi.BeanManager

它可以在 Wildfly 上运行,但不能在 Tomcat 上运行,这是因为 Wildfly 是一个已经包含大量库的应用程序服务器(取决于您使用的版本)。版本 16.0.0.Final 中的 Java EE 完整版和 Web 发行版,例如包含库 cdi-api-2.0.SP1.jar (位于 wildfly-16.0.0.Final\modules\system\layers\base\javax\enterprise\api\main 下),其中包含 BeanManager 类。因此找到了该类并且它可以工作。

Tomcat 是一个 Web 服务器,默认情况下不包含 EE-Libraries。因此,在部署到 Tomcat 时,必须确保包含 javax.enterprise.inject.spi.BeanManager 类的库位于部署到 tomcat 时的类路径上。

包含该类的库是 https://mvnrepository.com/artifact/javax.enterprise/cdi-api/2.0.SP1根据您使用的项目类型,您可以添加 maven/gradle 依赖项,例如

<dependency>
    <groupId>javax.enterprise</groupId>
    <artifactId>cdi-api</artifactId>
    <version>2.0.SP1</version>
</dependency>

(使用maven时)或者在不使用maven等构建管理工具时下载jar文件并将其放入您的自管理库中。

关于java - 应用程序适用于 Wildfly,但不适用于 Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54995194/

相关文章:

java - 用户总是需要按两次谷歌登录按钮

java - 使用java在Excel工作表中创建数据透视表

java - 基本 EJB3 项目不起作用。名称未找到异常

java - 如何使用命令行部署EJB 3.0?

sass - 如何制作扩展 Valo 的 Vaadin 主题?

java - 错误 :warning: Ignoring InnerClasses attribute for an anonymous inner class Error:(org. jsonschema2pojo.gradle。)

java - 如果 SoftReference 的引用已被 GC,如何对其进行 GC

wildfly - 如何在 WildFly 中设置应用程序级 SAM

java - 在vaadin中替换formlayout的单元格

java - 如何使用 Vaadin 上传图像 Java Spring 应用程序