java - Spring Boot应用程序启动失败,tomcat 7 jdk1.8

标签 java spring-boot jakarta-ee tomcat7

我正在尝试在 Tomcat 7 服务器上部署我的 Spring boot 应用程序并启动它。 当我开始时,我有:org.apache.catalina.startup.Catalina]服务器在11954毫秒内启动

但我遇到以下问题并且部署失败:

  Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar [jar:file:tomcat/7_0_61-ep-01/webapps/app-oss/WEB-INF/lib/byte-buddy-1.9.12.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:55)
        at org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:177)
        at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:85)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2089)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1965)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1931)
        at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1916)
        at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1330)
        at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:889)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5416)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:672)
        at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1882)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

Unable to process Jar entry [module-info.class] from Jar [jar:file:tools/tomcat/7_0_61-ep-01/webapps/app-oss/WEB-INF/lib/jakarta.xml.bind-api-2.3.2.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:55)
    at org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:177)     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:672)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1882)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

springboot 的依赖关系:

ging>war</packaging>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

我该如何修复它? 我编辑了我的帖子,添加了依赖 springboot 的一部分。该包是一个 WAR,我排除了 tomcat

最佳答案

您的应用程序打包为 jar 文件。为了将其部署到 tomcat,您需要将其打包为 war 文件并添加 tomcat 依赖项。您可以在 pom.xml 中执行此操作,如下所示:

<groupId>com.example</groupId>
<artifactId>example</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-tomcat</artifactId>
   <scope>provided</scope>
</dependency>

默认情况下spring boot打包后会生成一个jar文件,并内嵌一个tomcat服务器。运行它只需要 JRE。如果您需要将其部署到tomcat,请按照上述步骤操作。

关于java - Spring Boot应用程序启动失败,tomcat 7 jdk1.8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55727148/

相关文章:

java - JDBC 领域表单例份验证

java - FontMetrics 设置字体?

java - 正则表达式删除任何 ipv6 地址的前导零

java - 如何在rest api中使用xml/json请求发送html内容?

java - 当请求是映射的 servlet 时如何知道过滤器内部?

jsf - 无状态 session Bean 和请求范围 Bean 有什么区别

java - 如何在 Struts 2 中调用 Web 服务

java - 获取一年中每一天的所有完整时间

windows - gradle 为 windows 生成的 startScript 产生 "input line is too long"

java - Junit 5 @MockBean 中的 NullPointerException