我使用eclipse IDE创建了Spring rest服务。当我使用Debug配置运行时,它可以在eclipse中正常工作,但是当我将其导出为可执行JAR并使用以下命令运行时
java -jar cs.jar
它给我以下错误:
org.springframework.context.ApplicationContextException: Unable to start embedde
d container; nested exception is org.springframework.boot.context.embedded.Embed
dedServletContainerException: Unable to start embedded Tomcat
at org.springframework.boot.context.embedded.EmbeddedWebApplicationConte
xt.onRefresh(EmbeddedWebApplicationContext.java:124)
at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:474)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationConte
xt.refresh(EmbeddedWebApplicationContext.java:109)
为什么它不能作为罐子工作?
答案 0 :(得分:1)
你需要检查你的类路径中是否包含了servlet-api jar,如果是,则删除它。
如果servlet-api在classpath中,它包含在WEB-INF / lib中,然后抛出错误,因为servlet容器已经有了servlet api jar。
如果退出,或者如果此依赖项由任何其他模块添加,则从maven或gradle中删除servlet-api依赖项,然后排除servlet api依赖性,如下所示
<dependency>
<groupId><groupId></groupId>
<artifactId><some dependency></artifactId>
<version><version></version>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
</exclusions>
</dependency>