2017-10-12 1 views
0

저는 Spring Boot Gradle 응용 프로그램을 만들고 있습니다. booRun을 수행하여 전쟁으로 실행하려고하면 내 응용 프로그램에서 오류가 발생합니다. 오류 메시지 : 묻혀진 바람둥이를 시작할 수 없습니다. build.gradle 파일의 내용 :포함 된 Tomcat을 시작할 수 없습니다. 봄 부팅

org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:137) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE] 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:536) ~[spring-context-4.3.8.RELEASE.jar:4.3.8.RELEASE] 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE] 
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737) [spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE] 
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370) [spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) [spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162) [spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151) [spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE] 
    at com.ex.MainClass.main(MainClass.java:38) [main/:na] 
Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat 
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:123) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE] 
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:84) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE] 
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:554) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE] 
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:179) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE] 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:164) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE] 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:134) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE] 
    ... 8 common frames omitted 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardServer[-1]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.14.jar:8.5.14] 
    at org.apache.catalina.startup.Tomcat.start(Tomcat.java:344) ~[tomcat-embed-core-8.5.14.jar:8.5.14] 
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:99) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE] 
    ... 13 common frames omitted 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Tomcat]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.14.jar:8.5.14] 
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793) ~[tomcat-embed-core-8.5.14.jar:8.5.14] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.14.jar:8.5.14] 
    ... 15 common frames omitted 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.14.jar:8.5.14] 
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) ~[tomcat-embed-core-8.5.14.jar:8.5.14] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.14.jar:8.5.14] 
    ... 17 common frames omitted 
Caused by: org.apache.catalina.LifecycleException: A child container failed during start 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:947) ~[tomcat-embed-core-8.5.14.jar:8.5.14] 
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) ~[tomcat-embed-core-8.5.14.jar:8.5.14] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.14.jar:8.5.14] 
    ... 19 common frames omitted 

bootRun FAILED 

편집 : 추가 메인 클래스 정의 : 전체 스택 추적이 아래에 주어진다

group 'com.example' 
    version '1.0-SNAPSHOT' 



bootRepackage { 
    mainClass = 'com.ex.MainClass' 
} 


apply plugin: 'war' 
apply plugin: 'propdeps' 

war { 
    baseName = 'abc' 
    archiveName 'abc.war' 

} 

repositories{ 
// mavenLocal() 
    mavenCentral() 
} 


dependencies { 

     compile("org.springframework.boot:spring-boot-starter-web") 
     compile("org.springframework.boot:spring-boot-starter-data-jpa") 
     compile("io.springfox:springfox-swagger2:2.7.0") 
     compile("io.springfox:springfox-swagger-ui:2.7.0") 
     compile fileTree(dir:"lib", include:"*.jar") 
     compile('org.springframework.boot:spring-boot-starter-mail') 
     optional("org.springframework.boot:spring-boot-configuration-processor") 
     compile("org.springframework.boot:spring-boot-starter-tomcat") 
     compile "io.springfox:springfox-swagger2:2.7.0" 
     compile 'io.springfox:springfox-swagger-ui:2.7.0' 
     compile("org.springframework.boot:spring-boot-starter-amqp") 
    } 

    compileJava.dependsOn(processResources) 

@SpringBootApplication 
@EnableAsync 
@EnableCaching 
@EnableScheduling 
public class MainClass extends SpringBootServletInitializer { 

    public static final Logger logger = LoggerFactory.getLogger(MainClass.class); 

    @Override 
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 
     return application.sources(MainClass.class); 
    } 

    public static void main(String[] args) { 
     SpringApplication.run(MainClass.class, args); 

    } 
} 

아무도 말해 주시겠습니까 내 앱이 임베디드 바람둥이에서 시작되지 않는 이유는 무엇입니까?

감사합니다.

+0

안녕하세요 당신도 메인 클래스를 붙여 넣을 수 있습니다 – Pradeep

+0

'fileTree (dir : "lib", include : "*. jar")를 컴파일하십시오. – 11thdimension

+0

@ 11thdension 거기에 내 프로젝트에 포함해야 할 lib 디렉토리에 몇 가지 외부 jar 파일이 있습니다. 따라서 – Manisha

답변

0

Im 덧글을 남길 수 없습니다. 따라서 임베디드 tomcat을 사용한다면 Tomcat 의존성 (spring-boot-starter-tomcat)이 필요하지 않습니다. 이미 "spring-boot-starter-web"으로 내장되어 있기 때문입니다. 이 종속성을 제거하십시오.

0

같은 문제가있어서 포트를 변경하여 해결했습니다.

응용 프로그램을 Spring 응용 프로그램으로 실행할 때 일반적으로 관리를 위해 9000 및 9001 포트를 사용했지만 Tomcat에서 실행하려고하면 게시 한 것과 동일한 예외가 발생하여 실패했습니다. application.properties의 두 포트를 모두 8080으로 변경하면 문제가 해결됩니다.

관련 문제