无法启动 Spring Boot 应用程序

Posted

技术标签:

【中文标题】无法启动 Spring Boot 应用程序【英文标题】:Unable to start spring boot application 【发布时间】:2015-05-10 04:37:43 【问题描述】:

我无法使用 @SpringBootApplication 启动我的应用程序。

@SpringBootApplication
public class AppInitializer extends SpringBootServletInitializer 

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) 
        return application.sources(AppInitializer.class);
    

    public static void main(String[] args) 
            ConfigurableApplicationContext ctx = new AppInitializer().configure(new SpringApplicationBuilder(AppInitializer.class)).run(args);
            System.out.println("count="+ctx.getBeanDefinitionCount());
        

pom.xml 使用:

        <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>compile</scope>
    </dependency> 

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jersey</artifactId>
<exclusions>
        <exclusion>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>

当我运行应用程序时,出现以下错误:

2015-03-09 09:14:10.372 信息 10636 --- [主要] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat 初始化为 端口:9000 (http) 2015-03-09 09:14:10.636 INFO 10636 --- [ main] o.apache.catalina.core.StandardService : 启动服务 Tomcat 2015-03-09 09:14:10.638 信息 10636 --- [主要] org.apache.catalina.core.StandardEngine :启动 Servlet 引擎: Apache Tomcat/7.0.57 2015-03-09 09:14:10.940 信息 10636 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]: 初始化 Spring 嵌入式 WebApplicationContext 2015-03-09 09:14:10.941 信息 10636 --- [ost-startStop-1] os.web.context.ContextLoader:根 WebApplicationContext: 初始化在 3588 毫秒内完成 2015-03-09 09:14:11.936 错误 10636 --- [cat-startStop-1] org.apache.catalina.core.ContainerBase : 子容器在启动过程中失败

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]] 在 java.util.concurrent.FutureTask.report(FutureTask.java:122) 在 java.util.concurrent.FutureTask.get(FutureTask.java:188) 在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) 在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:816) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) 在 java.util.concurrent.FutureTask.run(FutureTask.java:262) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:744) 引起: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) ...省略了6个常用框架 原因:java.lang.NoSuchMethodError: javax.servlet.ServletContext.addFilter(Ljava/lang/String;Ljavax/servlet/Filter;)Ljavax/servlet/FilterRegistration$Dynamic; 在 org.springframework.boot.context.embedded.FilterRegistrationBean.onStartup(FilterRegistrationBean.java:250) 在 org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.selfInitialize(EmbeddedWebApplicationContext.java:222) 在 org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.access$000(EmbeddedWebApplicationContext.java:84) 在 org.springframework.boot.context.embedded.EmbeddedWebApplicationContext$1.onStartup(EmbeddedWebApplicationContext.java:206) 在 org.springframework.boot.context.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:54) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5481) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ...省略了6个常用框架

依赖树:

[INFO] |  +- mysql:mysql-connector-java:jar:5.1.34:compile
[INFO] |  +- com.zaxxer:HikariCP-java6:jar:2.2.5:compile
[INFO] |  |  +- org.slf4j:slf4j-api:jar:1.7.8:compile (version managed from 1.7.5)
[INFO] |  |  \- org.javassist:javassist:jar:3.18.1-GA:compile
[INFO] |  +- io.dropwizard.metrics:metrics-core:jar:3.1.0:compile
[INFO] |  |  \- (org.slf4j:slf4j-api:jar:1.7.8:compile - version managed from 1.7.7; omitted
 for duplicate)
[INFO] |  +- org.hibernate:hibernate-entitymanager:jar:4.3.7.Final:compile
[INFO] |  |  +- org.jboss.logging:jboss-logging:jar:3.1.3.GA:compile
[INFO] |  |  +- org.jboss.logging:jboss-logging-annotations:jar:1.2.0.Beta1:compile
[INFO] |  |  +- org.hibernate:hibernate-core:jar:4.3.7.Final:compile
[INFO] |  |  |  +- (org.jboss.logging:jboss-logging:jar:3.1.3.GA:compile - omitted for dupli
cate)
[INFO] |  |  |  +- (org.jboss.logging:jboss-logging-annotations:jar:1.2.0.Beta1:compile - om
itted for duplicate)
[INFO] |  |  |  +- (org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.0.
0.Final:compile - omitted for duplicate)
[INFO] |  |  |  +- (dom4j:dom4j:jar:1.6.1:compile - omitted for duplicate)
[INFO] |  |  |  +- (org.hibernate.common:hibernate-commons-annotations:jar:4.0.5.Final:compi
le - omitted for duplicate)
[INFO] |  |  |  +- (org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:co
mpile - omitted for duplicate)
[INFO] |  |  |  +- (org.javassist:javassist:jar:3.18.1-GA:compile - omitted for duplicate)
[INFO] |  |  |  +- antlr:antlr:jar:2.7.7:compile
[INFO] |  |  |  \- org.jboss:jandex:jar:1.1.0.Final:compile
[INFO] |  |  +- dom4j:dom4j:jar:1.6.1:compile
[INFO] |  |  |  \- xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] |  |  +- org.hibernate.common:hibernate-commons-annotations:jar:4.0.5.Final:compile
[INFO] |  |  |  +- (org.jboss.logging:jboss-logging:jar:3.1.3.GA:compile - omitted for dupli
cate)
[INFO] |  |  |  \- (org.jboss.logging:jboss-logging-annotations:jar:1.2.0.Beta1:compile - om
itted for duplicate)
[INFO] |  |  +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compil
e
[INFO] |  |  +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.0.0.Fi
nal:compile
[INFO] |  |  \- (org.javassist:javassist:jar:3.18.1-GA:compile - omitted for duplicate)
[INFO] |  +- org.springframework.data:spring-data-jpa:jar:1.7.1.RELEASE:compile
[INFO] |  |  +- org.springframework.data:spring-data-commons:jar:1.9.1.RELEASE:compile
[INFO] |  |  |  +- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version mana
ged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  |  +- (org.springframework:spring-beans:jar:4.1.4.RELEASE:compile - version man
aged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  |  +- (org.slf4j:slf4j-api:jar:1.7.8:compile - version managed from 1.7.7; omit
ted for duplicate)
[INFO] |  |  |  \- (org.slf4j:jcl-over-slf4j:jar:1.7.8:runtime - version managed from 1.7.7;
 omitted for duplicate)
[INFO] |  |  +- org.springframework:spring-orm:jar:4.1.4.RELEASE:compile (version managed fr
om 4.0.7.RELEASE)
[INFO] |  |  |  +- (org.springframework:spring-beans:jar:4.1.4.RELEASE:compile - version man
aged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  |  +- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version mana
ged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  |  +- org.springframework:spring-jdbc:jar:4.1.4.RELEASE:compile
[INFO] |  |  |  |  +- (org.springframework:spring-beans:jar:4.1.4.RELEASE:compile - version
managed from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  |  |  +- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version m
anaged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  |  |  \- (org.springframework:spring-tx:jar:4.1.4.RELEASE:compile - omitted for
 duplicate)
[INFO] |  |  |  \- (org.springframework:spring-tx:jar:4.1.4.RELEASE:compile - version manage
d from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  +- org.springframework:spring-context:jar:4.1.4.RELEASE:compile (version manage
d from 4.0.7.RELEASE)
[INFO] |  |  |  +- (org.springframework:spring-aop:jar:4.1.4.RELEASE:compile - version manag
ed from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  |  +- (org.springframework:spring-beans:jar:4.1.4.RELEASE:compile - version man
aged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  |  +- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version mana
ged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  |  \- (org.springframework:spring-expression:jar:4.1.4.RELEASE:compile - omitte
d for duplicate)
[INFO] |  |  +- org.springframework:spring-aop:jar:4.1.4.RELEASE:compile
[INFO] |  |  |  +- aopalliance:aopalliance:jar:1.0:compile
[INFO] |  |  |  +- (org.springframework:spring-beans:jar:4.1.4.RELEASE:compile - version man
aged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  |  \- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version mana
ged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  +- org.springframework:spring-tx:jar:4.1.4.RELEASE:compile
[INFO] |  |  |  +- (org.springframework:spring-beans:jar:4.1.4.RELEASE:compile - version man
aged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  |  \- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version mana
ged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  +- org.springframework:spring-beans:jar:4.1.4.RELEASE:compile
[INFO] |  |  |  \- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version mana
ged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  +- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version managed
 from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  +- org.aspectj:aspectjrt:jar:1.8.4:compile (version managed from 1.8.2)
[INFO] |  |  +- (org.slf4j:slf4j-api:jar:1.7.8:compile - version managed from 1.7.7; omitted
 for duplicate)
[INFO] |  |  \- (org.slf4j:jcl-over-slf4j:jar:1.7.8:compile - version managed from 1.7.7; sc
ope updated from runtime; omitted for duplicate)
[INFO] |  +- org.codehaus.groovy:groovy-all:jar:2.3.6:compile
[INFO] |  \- log4j:log4j:jar:1.2.17:compile
[INFO] +- qcom.cas.backend.myapp:service:jar:1.0:compile
[INFO] |  +- (qcom.cas.backend.myapp:persistence:jar:1.0:compile - omitted for duplicate)
[INFO] |  +- (org.springframework.data:spring-data-jpa:jar:1.7.1.RELEASE:compile - omitted f
or duplicate)
[INFO] |  +- (org.codehaus.groovy:groovy-all:jar:2.3.6:compile - omitted for duplicate)
[INFO] |  \- (log4j:log4j:jar:1.2.17:compile - omitted for duplicate)
[INFO] +- org.springframework.boot:spring-boot-starter-jersey:jar:1.2.1.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter:jar:1.2.1.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot:jar:1.2.1.RELEASE:compile
[INFO] |  |  |  +- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version mana
ged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  |  \- (org.springframework:spring-context:jar:4.1.4.RELEASE:compile - version m
anaged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  +- org.springframework.boot:spring-boot-autoconfigure:jar:1.2.1.RELEASE:compile

[INFO] |  |  |  \- (org.springframework.boot:spring-boot:jar:1.2.1.RELEASE:compile - omitted
 for duplicate)
[INFO] |  |  +- org.springframework.boot:spring-boot-starter-logging:jar:1.2.1.RELEASE:compi
le
[INFO] |  |  |  +- org.slf4j:jcl-over-slf4j:jar:1.7.8:compile
[INFO] |  |  |  |  \- (org.slf4j:slf4j-api:jar:1.7.8:compile - version managed from 1.7.7; o
mitted for duplicate)
[INFO] |  |  |  +- org.slf4j:jul-to-slf4j:jar:1.7.8:compile
[INFO] |  |  |  |  \- (org.slf4j:slf4j-api:jar:1.7.8:compile - version managed from 1.7.7; o
mitted for duplicate)
[INFO] |  |  |  +- org.slf4j:log4j-over-slf4j:jar:1.7.8:compile
[INFO] |  |  |  |  \- (org.slf4j:slf4j-api:jar:1.7.8:compile - version managed from 1.7.7; o
mitted for duplicate)
[INFO] |  |  |  \- ch.qos.logback:logback-classic:jar:1.1.2:compile
[INFO] |  |  |     +- ch.qos.logback:logback-core:jar:1.1.2:compile
[INFO] |  |  |     \- (org.slf4j:slf4j-api:jar:1.7.8:compile - version managed from 1.7.6; o
mitted for duplicate)
[INFO] |  |  +- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version managed
 from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  \- org.yaml:snakeyaml:jar:1.14:runtime
[INFO] |  +- (org.springframework.boot:spring-boot-starter-tomcat:jar:1.2.1.RELEASE:compile
- omitted for duplicate)
[INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.4.4:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.4.4:compile (version ma
naged from 2.4.0)
[INFO] |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.4.4:compile
[INFO] |  +- org.hibernate:hibernate-validator:jar:5.1.3.Final:compile
[INFO] |  |  +- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] |  |  +- (org.jboss.logging:jboss-logging:jar:3.1.3.GA:compile - omitted for duplicat
e)
[INFO] |  |  \- com.fasterxml:classmate:jar:1.0.0:compile
[INFO] |  +- org.springframework:spring-core:jar:4.1.4.RELEASE:compile
[INFO] |  +- org.springframework:spring-web:jar:4.1.4.RELEASE:compile
[INFO] |  |  +- (org.springframework:spring-aop:jar:4.1.4.RELEASE:compile - version managed
from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  +- (org.springframework:spring-beans:jar:4.1.4.RELEASE:compile - version manage
d from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  +- (org.springframework:spring-context:jar:4.1.4.RELEASE:compile - version mana
ged from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  |  \- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version managed
 from 4.0.7.RELEASE; omitted for duplicate)
[INFO] |  +- org.glassfish.jersey.core:jersey-server:jar:2.14:compile
[INFO] |  |  +- org.glassfish.jersey.core:jersey-common:jar:2.14:compile
[INFO] |  |  |  +- (javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile - omitted for duplicate)
[INFO] |  |  |  +- (javax.annotation:javax.annotation-api:jar:1.2:compile - omitted for dupl
icate)
[INFO] |  |  |  +- org.glassfish.jersey.bundles.repackaged:jersey-guava:jar:2.14:compile
[INFO] |  |  |  +- (org.glassfish.hk2:hk2-api:jar:2.4.0-b06:compile - omitted for duplicate)

[INFO] |  |  |  +- (org.glassfish.hk2.external:javax.inject:jar:2.4.0-b06:compile - omitted
for duplicate)
[INFO] |  |  |  +- (org.glassfish.hk2:hk2-locator:jar:2.4.0-b06:compile - omitted for duplic
ate)
[INFO] |  |  |  \- org.glassfish.hk2:osgi-resource-locator:jar:1.0.1:compile
[INFO] |  |  +- org.glassfish.jersey.core:jersey-client:jar:2.14:compile
[INFO] |  |  |  +- (org.glassfish.jersey.core:jersey-common:jar:2.14:compile - omitted for d
uplicate)
[INFO] |  |  |  +- (javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile - omitted for duplicate)
[INFO] |  |  |  +- (org.glassfish.hk2:hk2-api:jar:2.4.0-b06:compile - omitted for duplicate)

[INFO] |  |  |  +- (org.glassfish.hk2.external:javax.inject:jar:2.4.0-b06:compile - omitted
for duplicate)
[INFO] |  |  |  \- (org.glassfish.hk2:hk2-locator:jar:2.4.0-b06:compile - omitted for duplic
ate)
[INFO] |  |  +- javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile
[INFO] |  |  +- javax.annotation:javax.annotation-api:jar:1.2:compile
[INFO] |  |  +- org.glassfish.hk2:hk2-api:jar:2.4.0-b06:compile
[INFO] |  |  |  +- org.glassfish.hk2:hk2-utils:jar:2.4.0-b06:compile
[INFO] |  |  |  \- org.glassfish.hk2.external:aopalliance-repackaged:jar:2.4.0-b06:compile
[INFO] |  |  +- org.glassfish.hk2.external:javax.inject:jar:2.4.0-b06:compile
[INFO] |  |  +- org.glassfish.hk2:hk2-locator:jar:2.4.0-b06:compile
[INFO] |  |  |  +- (org.glassfish.hk2.external:javax.inject:jar:2.4.0-b06:compile - omitted
for duplicate)
[INFO] |  |  |  +- (org.glassfish.hk2.external:aopalliance-repackaged:jar:2.4.0-b06:compile
- omitted for duplicate)
[INFO] |  |  |  +- (org.glassfish.hk2:hk2-api:jar:2.4.0-b06:compile - omitted for duplicate)

[INFO] |  |  |  +- (org.glassfish.hk2:hk2-utils:jar:2.4.0-b06:compile - omitted for duplicat
e)
[INFO] |  |  |  \- (org.javassist:javassist:jar:3.18.1-GA:compile - omitted for duplicate)
[INFO] |  |  \- (javax.validation:validation-api:jar:1.1.0.Final:compile - omitted for dupli
cate)
[INFO] |  +- org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.14:compile
[INFO] |  |  +- (org.glassfish.hk2.external:javax.inject:jar:2.4.0-b06:compile - omitted for
 duplicate)
[INFO] |  |  +- (org.glassfish.jersey.core:jersey-common:jar:2.14:compile - omitted for dupl
icate)
[INFO] |  |  +- (org.glassfish.jersey.core:jersey-server:jar:2.14:compile - omitted for dupl
icate)
[INFO] |  |  \- (javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile - omitted for duplicate)
[INFO] |  +- org.glassfish.jersey.containers:jersey-container-servlet:jar:2.14:compile
[INFO] |  |  +- (org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.14:comp
ile - omitted for duplicate)
[INFO] |  |  +- (org.glassfish.jersey.core:jersey-common:jar:2.14:compile - omitted for dupl
icate)
[INFO] |  |  +- (org.glassfish.jersey.core:jersey-server:jar:2.14:compile - omitted for dupl
icate)
[INFO] |  |  \- (javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile - omitted for duplicate)
[INFO] |  +- org.glassfish.jersey.ext:jersey-spring3:jar:2.14:compile
[INFO] |  |  +- (org.glassfish.jersey.core:jersey-server:jar:2.14:compile - omitted for dupl
icate)
[INFO] |  |  +- (org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.14:comp
ile - omitted for duplicate)
[INFO] |  |  +- org.glassfish.hk2:hk2:jar:2.4.0-b06:compile
[INFO] |  |  |  +- (org.glassfish.hk2:hk2-utils:jar:2.4.0-b06:compile - omitted for duplicat
e)
[INFO] |  |  |  +- (org.glassfish.hk2:hk2-api:jar:2.4.0-b06:compile - omitted for duplicate)

[INFO] |  |  |  +- org.glassfish.hk2:config-types:jar:2.4.0-b06:compile
[INFO] |  |  |  |  \- (org.glassfish.hk2:hk2-config:jar:2.4.0-b06:compile - omitted for dupl
icate)
[INFO] |  |  |  +- org.glassfish.hk2:core:jar:2.4.0-b06:compile
[INFO] |  |  |  |  +- (org.glassfish.hk2:hk2-locator:jar:2.4.0-b06:compile - omitted for dup
licate)
[INFO] |  |  |  |  \- (org.glassfish.hk2:hk2-utils:jar:2.4.0-b06:compile - omitted for dupli
cate)
[INFO] |  |  |  +- org.glassfish.hk2:hk2-config:jar:2.4.0-b06:compile
[INFO] |  |  |  |  +- (org.glassfish.hk2:core:jar:2.4.0-b06:compile - omitted for duplicate)

[INFO] |  |  |  |  +- org.jvnet:tiger-types:jar:1.4:compile
[INFO] |  |  |  |  \- org.glassfish.hk2.external:bean-validator:jar:2.4.0-b06:compile
[INFO] |  |  |  +- (org.glassfish.hk2:hk2-locator:jar:2.4.0-b06:compile - omitted for duplic
ate)
[INFO] |  |  |  +- org.glassfish.hk2:hk2-runlevel:jar:2.4.0-b06:compile
[INFO] |  |  |  |  +- (org.glassfish.hk2:hk2-api:jar:2.4.0-b06:compile - omitted for duplica
te)
[INFO] |  |  |  |  \- (org.glassfish.hk2:hk2-locator:jar:2.4.0-b06:compile - omitted for dup
licate)
[INFO] |  |  |  \- org.glassfish.hk2:class-model:jar:2.4.0-b06:compile
[INFO] |  |  |     \- org.glassfish.hk2.external:asm-all-repackaged:jar:2.4.0-b06:compile
[INFO] |  |  +- org.glassfish.hk2:spring-bridge:jar:2.4.0-b06:compile
[INFO] |  |  |  \- (org.springframework:spring-context:jar:4.1.4.RELEASE:compile - version m
anaged from 3.2.3.RELEASE; omitted for duplicate)
[INFO] |  |  +- (org.springframework:spring-beans:jar:4.1.4.RELEASE:compile - version manage
d from 3.2.3.RELEASE; omitted for duplicate)
[INFO] |  |  +- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version managed
 from 3.2.3.RELEASE; omitted for duplicate)
[INFO] |  |  +- (org.springframework:spring-web:jar:4.1.4.RELEASE:compile - version managed
from 3.2.3.RELEASE; omitted for duplicate)
[INFO] |  |  \- (javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile - omitted for duplicate)
[INFO] |  \- org.glassfish.jersey.media:jersey-media-json-jackson:jar:2.14:compile
[INFO] |     +- (org.glassfish.jersey.core:jersey-common:jar:2.14:compile - omitted for dupl
icate)
[INFO] |     +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.3.2:compile
[INFO] |     |  +- (com.fasterxml.jackson.core:jackson-core:jar:2.4.4:compile - version mana
ged from 2.3.2; omitted for duplicate)
[INFO] |     |  \- (com.fasterxml.jackson.core:jackson-databind:jar:2.4.4:compile - version
managed from 2.3.2; omitted for duplicate)
[INFO] |     +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.3.2:compile
[INFO] |     |  +- (com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.3.2:compile - omitt
ed for duplicate)
[INFO] |     |  +- (com.fasterxml.jackson.core:jackson-core:jar:2.4.4:compile - version mana
ged from 2.3.2; omitted for duplicate)
[INFO] |     |  +- (com.fasterxml.jackson.core:jackson-databind:jar:2.4.4:compile - version
managed from 2.3.2; omitted for duplicate)
[INFO] |     |  \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.3.2:co
mpile
[INFO] |     |     +- (com.fasterxml.jackson.core:jackson-core:jar:2.4.4:compile - version m
anaged from 2.3.2; omitted for duplicate)
[INFO] |     |     \- (com.fasterxml.jackson.core:jackson-databind:jar:2.4.4:compile - versi
on managed from 2.3.2; omitted for duplicate)
[INFO] |     \- (com.fasterxml.jackson.core:jackson-annotations:jar:2.4.4:compile - version
managed from 2.3.2; omitted for duplicate)
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:1.2.1.RELEASE:compile
[INFO] |  +- (org.springframework.boot:spring-boot-starter:jar:1.2.1.RELEASE:compile - omitt
ed for duplicate)
[INFO] |  +- (org.springframework.boot:spring-boot-starter-tomcat:jar:1.2.1.RELEASE:compile
- omitted for duplicate)
[INFO] |  +- (com.fasterxml.jackson.core:jackson-databind:jar:2.4.4:compile - version manage
d from 2.3.2; omitted for duplicate)
[INFO] |  +- (org.hibernate:hibernate-validator:jar:5.1.3.Final:compile - omitted for duplic
ate)
[INFO] |  +- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version managed fr
om 3.2.3.RELEASE; omitted for duplicate)
[INFO] |  +- (org.springframework:spring-web:jar:4.1.4.RELEASE:compile - version managed fro
m 3.2.3.RELEASE; omitted for duplicate)
[INFO] |  \- org.springframework:spring-webmvc:jar:4.1.4.RELEASE:compile
[INFO] |     +- (org.springframework:spring-beans:jar:4.1.4.RELEASE:compile - version manage
d from 3.2.3.RELEASE; omitted for duplicate)
[INFO] |     +- (org.springframework:spring-context:jar:4.1.4.RELEASE:compile - version mana
ged from 3.2.3.RELEASE; omitted for duplicate)
[INFO] |     +- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version managed
 from 3.2.3.RELEASE; omitted for duplicate)
[INFO] |     +- org.springframework:spring-expression:jar:4.1.4.RELEASE:compile
[INFO] |     |  \- (org.springframework:spring-core:jar:4.1.4.RELEASE:compile - version mana
ged from 3.2.3.RELEASE; omitted for duplicate)
[INFO] |     \- (org.springframework:spring-web:jar:4.1.4.RELEASE:compile - version managed
from 3.2.3.RELEASE; omitted for duplicate)
[INFO] +- org.springframework.boot:spring-boot-starter-tomcat:jar:1.2.1.RELEASE:provided (sc
ope not updated to compile)
[INFO] |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:7.0.57:provided (version managed
from 8.0.15)
[INFO] |  +- org.apache.tomcat.embed:tomcat-embed-el:jar:7.0.57:provided (version managed fr
om 8.0.15)
[INFO] |  +- org.apache.tomcat.embed:tomcat-embed-logging-juli:jar:7.0.57:provided (version
managed from 8.0.15)
[INFO] |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:7.0.57:provided (version man
aged from 8.0.15)
[INFO] |     \- (org.apache.tomcat.embed:tomcat-embed-core:jar:7.0.57:provided - version man
aged from 8.0.15; omitted for duplicate)

【问题讨论】:

这是你的整个 pom.xml 吗?请发布所有依赖项。 servlet api jar 中似乎存在版本冲突。 添加了依赖树供您参考。有 jersey-container-servlet-core 和 jersey-container-servlet jars。 【参考方案1】:

发现问题:依赖jersey-container-servlet-core只适用于低于Servlet 3.0规范的servlet容器。由于您使用实现 Servlet 3.0 的 Tomcat 7,因此您必须使用 jersey-container-servlet。在此处查看泽西岛文档:https://jersey.java.net/documentation/latest/modules-and-dependencies.html#servlet-app-general

如果您将应用程序作为独立应用程序运行(即不将其部署到 Tomcat 中),则必须确保依赖项 spring-boot-starter-tomcat 在“编译”范围内。目前依赖的范围是“provided”,这意味着在运行应用程序时,依赖不在类路径上。

如果你想在 Tomcat 和独立应用程序中运行你的应用程序,你必须使用 Maven 配置文件并构建两个 WAR,一个带有 spring-boot-starter-tomcat,一个带有 spring-boot-starter- tomcat 作为编译器。

【讨论】:

我在 pom 中为 jersey-container-servlet-core 添加了排除项。它现在抛出不同的错误: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String;在 java.util.concurrent.FutureTask.report(FutureTask.java:122) 主要原因还是一样的,还是API版本冲突。你使用 IDE 吗?如果是这样,您能否搜索类 ServletContext,并查看该类出现了多少次,以及在哪些 JAR 中? Tomcat jar 中应该只出现一次。 我正在使用 GGTS IDE,它没有显示任何 ServletContext :-( . 好的,那我没有更多的想法了 :( 我尝试了不同的 IDE 来检查是否出现。 ServletContext 仅来自 tomcat-embed-core-7.0.57.jar。

以上是关于无法启动 Spring Boot 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Eclipse 中启动 Spring Boot App:无法启动嵌入式 Tomcat

Spring boot 无法启动 HSQLDB

Spring Boot 应用程序使用 spring-boot-starter-actuator 给出“无法启动 tomcat”异常

带有休眠应用程序的 Spring Boot 无法启动

Spring Boot 无法正确启动 [关闭]

为啥我无法使用 Spring Boot 应用程序启动 Thymeleaf 模板?