2017-10-12 21 views
0

私はSpring Boot Gradleアプリケーションで作業しています。私のアプリは、私が戦争としてそれをbooRunを実行して実行しようとするとエラーを投げています。エラーメッセージ:埋め込みのTomcatを起動できません。 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 

EDIT:メインクラス定義を追加:

@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); 

    } 
} 

誰が私に教えてくださいすることができ

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) 

は全体のスタックトレースを以下に示します。私のアプリが埋め込みのTomcatで起動しないのはなぜですか?

ありがとうございました

+0

こんにちは、メインクラスを貼り付けてください。 – Pradeep

+0

'fileTree(dir:" lib "、include:" *。jar ")をコンパイルしてください。 – 11thdimension

+0

@ 11thdension私のプロジェクトに含める必要のあるlibディレクトリにいくつかの外部jarファイルがあります。したがって、依存関係 – Manisha

答えて

0

私はコメントできません。だから、埋め込み型のTomcatを使用している場合は、すでに "spring-boot-starter-web"でビルドされているので、Tomcatの依存関係(spring-boot-starter-tomcat)は必要ありません。この依存関係を削除してみてください。

0

私は同じ問題を抱え、ポートを変更して解決しました。

アプリケーションをSpringアプリケーションとして実行すると、通常はポート9000と9001を管理に使用しますが、Tomcatで実行しようとすると、投稿したのと同じ例外が発生して失敗します。 application.propertiesの両方のポートを8080に変更すると、問題は解決しました。

関連する問題