Java ch.qos.logback.classic.servlet.LogbackServletContainerInitializer

Java ch.qos.logback.classic.servlet.LogbackServletContainerInitializer,java,spring,maven,spring-boot,tomcat7,Java,Spring,Maven,Spring Boot,Tomcat7,当我尝试使用springboot运行(mvntomcat7:run)我的web应用程序时,我遇到了以下错误 严重:启动期间子容器失败 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/passwordknight]] 位于java.util.co

当我尝试使用springboot运行(mvntomcat7:run)我的web应用程序时,我遇到了以下错误

严重:启动期间子容器失败 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/passwordknight]] 位于java.util.concurrent.FutureTask.report(FutureTask.java:122) java.util.concurrent.FutureTask.get(FutureTask.java:192)位于 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) 在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 在java.util.concurrent.FutureTask.run(FutureTask.java:266)处 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在java.lang.Thread.run(Thread.java:748)处,由以下原因引起: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/passwordknight]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) ... 还有6个

原因:java.lang.ClassCastException: ch.qos.logback.classic.servlet.LogbackServletContainerInitializer 无法强制转换为javax.servlet.ServletContainerInitializer

在 org.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1670) 在 org.apache.catalina.startup.ContextConfig.getServletContainerInitializers(ContextConfig.java:1652) 在 org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1562) 在 org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1270) 在 org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878) 在 org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376) 在 org.apache.catalina.util.LifecycleSupport.FireLifecycleSupport(LifecycleSupport.java:119) 在 org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 还有6个

这是我的POM.xml

http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0

<groupId>com.test</groupId>
<artifactId>test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

<name>test</name>
<description>Demo project for Spring Boot</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.2.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <azure.version>2.0.1</azure.version>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>com.microsoft.azure</groupId>
        <artifactId>azure-keyvault-secrets-spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>com.microsoft.azure</groupId>
        <artifactId>azure-storage-spring-boot-starter</artifactId>
    </dependency>
    <!-- <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency> -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <artifactId>tomcat-embed-logging-juli</artifactId>
                <groupId>org.apache.tomcat.embed</groupId>
            </exclusion>
            <exclusion>
                <artifactId>tomcat-embed-websocket</artifactId>
                <groupId>org.apache.tomcat.embed</groupId>
            </exclusion>
            <exclusion>
                <artifactId>tomcat-embed-el</artifactId>
                <groupId>org.apache.tomcat.embed</groupId>
            </exclusion>
        </exclusions>
    </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>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>azure-spring-boot-bom</artifactId>
            <version>${azure.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <!-- Tomcat plugin -->  
        <plugin>  
         <groupId>org.apache.tomcat.maven</groupId>  
         <artifactId>tomcat7-maven-plugin</artifactId>  
         <version>2.2</version>
        </plugin>
    </plugins>
</build>
com.test
测试
0.0.1-快照
战争
测试
SpringBoot的演示项目
org.springframework.boot
spring启动程序父级
2.0.2.1发布
UTF-8
UTF-8
2.0.1
1.8
com.microsoft.azure
azure keyvault秘密春季启动程序
com.microsoft.azure
azure存储春季启动程序
org.springframework.boot
SpringBootStarterWeb
tomcat嵌入式日志
org.apache.tomcat.embed
tomcat嵌入websocket
org.apache.tomcat.embed
tomcat嵌入式el
org.apache.tomcat.embed
org.springframework.boot
弹簧靴开发工具
运行时
org.springframework.boot
弹簧起动试验
测试
com.microsoft.azure
azure spring引导bom
${azure.version}
聚甲醛
进口
org.springframework.boot
springbootmaven插件
org.apache.tomcat.maven
tomcat7 maven插件
2.2

“原因:java.lang.ClassCastException:ch.qos.logback.classic.servlet.LogbackServletContainerInitializer无法转换为javax.servlet.ServletContainerInitializer”


我试图将servlet API更改为最新的并提供了作用域,但仍然不起作用。是否存在它期望我的java或servlet API为的特定版本?

只需从services folderservices文件夹中删除javax.servlet.ServletContainerInitializer文件?我在工作区中没有看到这一点。