【问题标题】:SpringServletContainerInitializer giving Unsupported major.minor version 52.0 issue on tomcat 8.0SpringServletContainerInitializer 在 tomcat 8.0 上给出 Unsupported major.minor 版本 52.0 问题
【发布时间】:2021-05-10 16:33:19
【问题描述】:

我正在构建一个应用程序,我在其中使用 Jenkins 从 git 构建我的代码并将其部署到 tomcat 服务器映像。以下是我的配置:

Jenkins 在 AWS 上构建,并将战争部署到 AWS 上的应用服务器。我安装了一个 docker 并使用 tomcat v8.0 映像创建了一个容器。 sudo docker run -d --name tomcat-container -p 8080:8080 tomcat:8.0

当我启动容器并尝试访问应用程序 http://:/application 时,出现错误。下面是我看到的,

10-May-2021 16:15:18.516 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
10-May-2021 16:15:18.516 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            4.14.231-173.361.amzn2.x86_64
10-May-2021 16:15:18.516 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
10-May-2021 16:15:18.517 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/lib/jvm/java-7-openjdk-amd64/jre
10-May-2021 16:15:18.517 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.7.0_181-b01
10-May-2021 16:15:18.517 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
10-May-2021 16:15:18.518 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /usr/local/tomcat
10-May-2021 16:15:18.518 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /usr/local/tomcat

10-May-2021 16:17:41.032 SEVERE [14] org.apache.catalina.startup.HostConfig.deployWARs Error waiting for multi-thread deployment of WAR files to complete
 java.lang.InterruptedException
    at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:400)
    at java.util.concurrent.FutureTask.get(FutureTask.java:187)
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:766)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:436)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1623)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:318)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1170)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1379)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1383)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1351)
    at java.lang.Thread.run(Thread.java:748)

10-May-2021 16:17:41.486 SEVERE [localhost-startStop-2] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 
 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/bankingapi]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:755)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:731)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:973)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1850)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.UnsupportedClassVersionError: org/springframework/web/SpringServletContainerInitializer : Unsupported major.minor version 52.0 (unable to load class org.springframework.web.SpringServletContainerInitializer)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2532)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:872)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1321)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:278)

POM.xml:

    <properties>
        <java.version>1.7</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <springfox-version>2.9.2</springfox-version>
    </properties>

请告知可能出了什么问题。我无法使用当前版本的 tomcat,因为我的应用程序无法在其上运行。

【问题讨论】:

标签: java spring maven tomcat


【解决方案1】:

感谢@PiotrPKarwasz 的建议。我使用了 tomcat v9 docker 容器,我能够克服这个问题。我没有这个问题了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-25
    • 2017-06-01
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 2019-05-20
    • 2016-03-25
    • 1970-01-01
    相关资源
    最近更新 更多