Я бы хотел запустить веб-приложение, используя embedded tomcat
вместо автономной версии. Чтобы сделать это, я объявил плагин tomcat maven в моем pom.xml
. Когда я попытался запустить это, я получил эту ошибку:
Exception in thread "Thread-2" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils
at org.apache.tomcat.maven.plugin.tomcat7.run.RunMojo$2.run(RunMojo.java:295)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
... 1 more
Это моя конфигурация POM.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>${tomcat-maven-plugin.version}</version>
<configuration>
<port>8080</port>
<path>/ppc-v2.webapp</path>
</configuration>
<dependencies>
<dependency>
<groupId>upgrade.karavel.framework</groupId>
<artifactId>framework.integration.camel.extension</artifactId>
<version>${framework.camel.extension.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-servlet_2.5_spec</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>upgrade.karavel.framework</groupId>
<artifactId>framework.frontend.web</artifactId>
<version>${framework.frontend.web.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework.webflow</groupId>
<artifactId>spring-webflow</artifactId>
</exclusion>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
РЕДАКТИРОВАТЬ: У меня есть следующая трассировка стека в верхней части журнала:
GRAVE: дочерний контейнер не удалось во время запуска
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: не удалось запустить компонент [StandardEngine [Tomcat] .StandardHost [localhost] .StandardContext [/ppc-v2.webapp]]
в java.util.concurrent.FutureTask.report (FutureTask.java:122)
в java.util.concurrent.FutureTask.get (FutureTask.java:192)
в org.apache.catalina.core.ContainerBase.startInternal (ContainerBase.java:1123)
в org.apache.catalina.core.StandardHost.startInternal (StandardHost.java:800)
в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150)
в org.apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1559)
в org.apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1549)
в java.util.concurrent.FutureTask.run (FutureTask.java:266)
в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)
в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624)
на java.lang.Thread.run (Thread.java:748)
Причина: org.apache.catalina.LifecycleException: Не удалось запустить компонент [StandardEngine [Tomcat] .StandardHost [localhost] .StandardContext [/ppc-v2.webapp]]
в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:154)
... еще 6
Причина: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer не может быть приведен к javax.servlet.ServletContainerInitializer.
в org.apache.catalina.startup.ContextConfig.getServletContainerInitializer (ContextConfig.java:1670)
в org.apache.catalina.startup.ContextConfig.getServletContainerInitializers (ContextConfig.java:1652)
в org.apache.catalina.startup.ContextConfig.processServletContainerInitializers (ContextConfig.java:1562)
в org.apache.catalina.startup.ContextConfig.webConfig (ContextConfig.java:1270)
в org.apache.catalina.startup.ContextConfig.configureStart (ContextConfig.java:878)
в org.apache.catalina.startup.ContextConfig.lifecycleEvent (ContextConfig.java:376)
в org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent (LifecycleSupport.java:119)
в org.apache.catalina.util.LifecycleBase.fireLifecycleEvent (LifecycleBase.java:90)
в org.apache.catalina.core.StandardContext.startInternal (StandardContext.java:5322)
в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150)
... еще 6
Сентябре 03, 2018 12:34:07 вечера org.apache.catalina.core.ContainerBase startInternal
GRAVE: дочерний контейнер не удалось во время запуска
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: не удалось запустить компонент [StandardEngine [Tomcat] .StandardHost [localhost]]
в java.util.concurrent.FutureTask.report (FutureTask.java:122)
в java.util.concurrent.FutureTask.get (FutureTask.java:192)
в org.apache.catalina.core.ContainerBase.startInternal (ContainerBase.java:1123)
в org.apache.catalina.core.StandardEngine.startInternal (StandardEngine.java:302)
в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150)
в org.apache.catalina.core.StandardService.startInternal (StandardService.java:443)
в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150)
в org.apache.catalina.core.StandardServer.startInternal (StandardServer.java:732)
в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150)
в org.apache.catalina.startup.Tomcat.start (Tomcat.java:341)в org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.startContainer (AbstractRunMojo.java:1238)
в org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute (AbstractRunMojo.java:592)
в org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:132)
в org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
в org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:153)
в org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:145)
в org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:116)
в org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:80)
в org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51)
в org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:120)
в org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:347)
в org.apache.maven.DefaultMaven.execute (DefaultMaven.java:154)
в org.apache.maven.cli.MavenCli.execute (MavenCli.java:582)
в org.apache.maven.cli.MavenCli.doMain (MavenCli.java:214)
в org.apache.maven.cli.MavenCli.main (MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
в java.lang.reflect.Method.invoke (Method.java:498)
в org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
в org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
в org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
в org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Вызвано: org.apache.catalina.LifecycleException: не удалось запустить компонент [StandardEngine [Tomcat] .StandardHost [localhost]]
в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:154)
в org.apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1559)
в org.apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1549)
в java.util.concurrent.FutureTask.run (FutureTask.java:266)
в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)
в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624)
на java.lang.Thread.run (Thread.java:748)
Вызвано: org.apache.catalina.LifecycleException: дочерний контейнер не удалось во время запуска
в org.apache.catalina.core.ContainerBase.startInternal (ContainerBase.java:1131)
в org.apache.catalina.core.StandardHost.startInternal (StandardHost.java:800)
в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150)
... еще 6