samedi 12 septembre 2015

SpringBoot test with Tomcat Embedded gets NullPointer in TomcatResources addJar

I'm trying to use the SpringBoot for testing with Selenium. But when trying to inicilizar the application and Start tomcat I get the error:

015-09-12 09:12:19.734 INFO 19825 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat 2015-09-12 09:12:19.736 INFO 19825 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.0.23 2015-09-12 09:12:19.889 ERROR 19825 --- [cat-startStop-1] org.apache.catalina.core.ContainerBase : A child container failed during start

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/dinoponto]] at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:917) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/dinoponto]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) ... 6 common frames omitted Caused by: java.lang.IllegalStateException: java.lang.NullPointerException at org.springframework.boot.context.embedded.tomcat.TomcatResources$Tomcat7Resources.addJar(TomcatResources.java:124) at org.springframework.boot.context.embedded.tomcat.TomcatResources.addClasspathResources(TomcatResources.java:62) at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory$StoreMergedWebXmlListener.onStart(TomcatEmbeddedServletContainerFactory.java:679) at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory$StoreMergedWebXmlListener.lifecycleEvent(TomcatEmbeddedServletContainerFactory.java:670) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5066) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 6 common frames omitted Caused by: java.lang.NullPointerException: null at org.springframework.boot.context.embedded.tomcat.TomcatResources$Tomcat7Resources.addJar(TomcatResources.java:121) ... 13 common frames omitted

Here my code:

@SpringApplicationConfiguration(classes = { SpringConfig.class, SpringSecurityConfig.class })
@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class,
        TransactionalTestExecutionListener.class, DbUnitTestExecutionListener.class })
@TransactionConfiguration
@Listeners({ ScreenshotTestRule.class })
@DbUnitConfiguration(dataSetLoader = DinoDataSetLoader.class)
@WebIntegrationTest("serter.port.0")
public class AbstractSeleniumTest extends AbstractTestNGSpringContextTests {

And my SpringConfig contains:

...
@Bean
    public EmbeddedServletContainerFactory servletContainer () {
        TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
        tomcat.setContextPath("/dinoponto");
        tomcat.setPort(8080);
        tomcat.addContextCustomizers(new TomcatContextCustomizer() {

            public void customize (Context context) {
                context.addWelcomeFile("inicio.html");
            }
        });
        return tomcat;
    }
...

Aucun commentaire:

Enregistrer un commentaire