generator-jhipster: setDocumentRoot should not be called when running .war with java -jar

Overview of the issue

When i do docker-compose -f app.dev.yml up it throws me an EmbeddedServletContainerException. StackTrace:

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
gateway-dev-app_1 |     at java.util.concurrent.FutureTask.report(FutureTask.java:122)
gateway-dev-app_1 |     at java.util.concurrent.FutureTask.get(FutureTask.java:192)
gateway-dev-app_1 |     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
gateway-dev-app_1 |     at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
gateway-dev-app_1 |     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
gateway-dev-app_1 |     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
gateway-dev-app_1 |     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
gateway-dev-app_1 |     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
gateway-dev-app_1 |     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
gateway-dev-app_1 |     at java.lang.Thread.run(Thread.java:745)
gateway-dev-app_1 | Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
gateway-dev-app_1 |     ... 6 common frames omitted
gateway-dev-app_1 | Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@67862846]
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
gateway-dev-app_1 |     at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4928)
gateway-dev-app_1 |     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5058)
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
gateway-dev-app_1 |     ... 6 common frames omitted
gateway-dev-app_1 | Caused by: java.lang.IllegalArgumentException: The main resource set specified [/src/main/webapp] is not valid
gateway-dev-app_1 |     at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:723)
gateway-dev-app_1 |     at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:684)
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
gateway-dev-app_1 |     ... 9 common frames omitted
gateway-dev-app_1 | 
gateway-dev-app_1 | 2016-03-09 14:26:43.972 ERROR 1 --- [           main] org.apache.catalina.core.ContainerBase   : A child container failed during start
gateway-dev-app_1 | 
gateway-dev-app_1 | java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
gateway-dev-app_1 |     at java.util.concurrent.FutureTask.report(FutureTask.java:122)
gateway-dev-app_1 |     at java.util.concurrent.FutureTask.get(FutureTask.java:192)
gateway-dev-app_1 |     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
gateway-dev-app_1 |     at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
gateway-dev-app_1 |     at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
gateway-dev-app_1 |     at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:769)
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
gateway-dev-app_1 |     at org.apache.catalina.startup.Tomcat.start(Tomcat.java:345)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:89)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:76)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:457)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:168)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:160)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:130)
gateway-dev-app_1 |     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
gateway-dev-app_1 |     at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
gateway-dev-app_1 |     at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
gateway-dev-app_1 |     at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
gateway-dev-app_1 |     at com.mycompany.myapp.GatewayApp.main(GatewayApp.java:74)
gateway-dev-app_1 |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
gateway-dev-app_1 |     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
gateway-dev-app_1 |     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
gateway-dev-app_1 |     at java.lang.reflect.Method.invoke(Method.java:498)
gateway-dev-app_1 |     at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
gateway-dev-app_1 |     at java.lang.Thread.run(Thread.java:745)
gateway-dev-app_1 | Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
gateway-dev-app_1 |     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
gateway-dev-app_1 |     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
gateway-dev-app_1 |     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
gateway-dev-app_1 |     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
gateway-dev-app_1 |     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
gateway-dev-app_1 |     ... 1 common frames omitted
gateway-dev-app_1 | Caused by: org.apache.catalina.LifecycleException: A child container failed during start
gateway-dev-app_1 |     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:924)
gateway-dev-app_1 |     at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
gateway-dev-app_1 |     ... 6 common frames omitted
gateway-dev-app_1 | 
gateway-dev-app_1 | 2016-03-09 14:26:43.973  WARN 1 --- [           main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
gateway-dev-app_1 | 2016-03-09 14:26:43.985 ERROR 1 --- [           main] o.s.boot.SpringApplication               : Application startup failed
gateway-dev-app_1 | 
gateway-dev-app_1 | org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:133)
gateway-dev-app_1 |     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
gateway-dev-app_1 |     at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
gateway-dev-app_1 |     at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
gateway-dev-app_1 |     at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
gateway-dev-app_1 |     at com.mycompany.myapp.GatewayApp.main(GatewayApp.java:74)
gateway-dev-app_1 |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
gateway-dev-app_1 |     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
gateway-dev-app_1 |     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
gateway-dev-app_1 |     at java.lang.reflect.Method.invoke(Method.java:498)
gateway-dev-app_1 |     at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
gateway-dev-app_1 |     at java.lang.Thread.run(Thread.java:745)
gateway-dev-app_1 | Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:99)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:76)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:457)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:168)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:160)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:130)
gateway-dev-app_1 |     ... 12 common frames omitted
gateway-dev-app_1 | Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardServer[-1]]
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
gateway-dev-app_1 |     at org.apache.catalina.startup.Tomcat.start(Tomcat.java:345)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:89)
gateway-dev-app_1 |     ... 17 common frames omitted
gateway-dev-app_1 | Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Tomcat]]
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
gateway-dev-app_1 |     at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:769)
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
gateway-dev-app_1 |     ... 19 common frames omitted
gateway-dev-app_1 | Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat]]
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
gateway-dev-app_1 |     at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
gateway-dev-app_1 |     ... 21 common frames omitted
gateway-dev-app_1 | Caused by: org.apache.catalina.LifecycleException: A child container failed during start
gateway-dev-app_1 |     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:924)
gateway-dev-app_1 |     at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
gateway-dev-app_1 |     ... 23 common frames omitted
gateway-dev-app_1 | 
gateway-dev-app_1 | Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
gateway-dev-app_1 |     at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:62)
gateway-dev-app_1 |     at java.lang.Thread.run(Thread.java:745)
gateway-dev-app_1 | Caused by: java.lang.reflect.InvocationTargetException
gateway-dev-app_1 |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
gateway-dev-app_1 |     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
gateway-dev-app_1 |     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
gateway-dev-app_1 |     at java.lang.reflect.Method.invoke(Method.java:498)
gateway-dev-app_1 |     at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
gateway-dev-app_1 |     ... 1 more
gateway-dev-app_1 | Caused by: org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:133)
gateway-dev-app_1 |     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
gateway-dev-app_1 |     at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
gateway-dev-app_1 |     at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
gateway-dev-app_1 |     at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
gateway-dev-app_1 |     at com.mycompany.myapp.GatewayApp.main(GatewayApp.java:74)
gateway-dev-app_1 |     ... 6 more
gateway-dev-app_1 | Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:99)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:76)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:457)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:168)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:160)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:130)
gateway-dev-app_1 |     ... 12 more
gateway-dev-app_1 | Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardServer[-1]]
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
gateway-dev-app_1 |     at org.apache.catalina.startup.Tomcat.start(Tomcat.java:345)
gateway-dev-app_1 |     at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:89)
gateway-dev-app_1 |     ... 17 more
gateway-dev-app_1 | Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Tomcat]]
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
gateway-dev-app_1 |     at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:769)
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
gateway-dev-app_1 |     ... 19 more
gateway-dev-app_1 | Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat]]
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
gateway-dev-app_1 |     at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
gateway-dev-app_1 |     ... 21 more
gateway-dev-app_1 | Caused by: org.apache.catalina.LifecycleException: A child container failed during start
gateway-dev-app_1 |     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:924)
gateway-dev-app_1 |     at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
gateway-dev-app_1 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
gateway-dev-app_1 |     ... 23 more
docker_gateway-dev-app_1 exited with code 0

Motivation for or Use Case

I saw this when working on the jhipster-docker-compose generator.

JHipster Version(s)

Master

JHipster configuration, a .yo-rc.json file generated in the root folder
{
  "generator-jhipster": {
    "jhipsterVersion": "2.27.0",
    "baseName": "gateway",
    "packageName": "com.mycompany.myapp",
    "packageFolder": "com/mycompany/myapp",
    "authenticationType": "jwt",
    "hibernateCache": "ehcache",
    "clusteredHttpSession": "no",
    "websocket": "no",
    "databaseType": "sql",
    "devDatabaseType": "h2Disk",
    "prodDatabaseType": "mysql",
    "searchEngine": "no",
    "buildTool": "maven",
    "jwtSecretKey": "df113f1173888aeee8a5a02305f148415ee7b5a2",
    "rememberMeKey": "",
    "useSass": false,
    "applicationType": "gateway",
    "testFrameworks": [
      "gatling"
    ],
    "enableTranslation": true,
    "nativeLanguage": "en",
    "languages": [
      "en"
    ]
  }
}
Browsers and Operating System

Ubuntu 14.04

Reproduce the error
  1. Generate a gateway
  2. run mvn package docker:build
  3. go in src/main/docker
  4. run docker-compose -f app.dev.yml up
Suggest a Fix

I don’t know from where this come from but I can launch a microservice app using docker without problem.

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 24 (24 by maintainers)

Most upvoted comments

@deepu105 it works fine with docker and java -jar command in target folder and ./mvnw.