Bereitstellen von Spring Boot-app auf dem Tomcat-Servlet 2.5 6
Erstellte ich eine FAQ mit spring boot. es muss eingesetzt werden, um auf einem tomcat 6 server (servlet 2.5). Muss ich konfigurieren Sie den aktuellen übergeordneten java-app(Krieg) web.xml zu Punkt aller request-url-pattern "/faq/*" zum Beispiel, um meine spring-boot-FAQ-app. Ich habe kopiert FAQ.jar Datei in den lib-Ordner des Eltern-app. Aber ich bin mir nicht sicher, wie Sie Sie konfigurieren/registrieren der spring-boot-servlet und servlet-mapping innerhalb der web.xml die übergeordnete Anwendung.
Mit dem spring-boot-legacy-Probe.. ich legte meine spring-boot-Anwendung in der Eltern-app den lib-Ordner zusammen mit der Abhängigkeit von jar-Dateien. Ich fügte hinzu, diese code-block, um die web.xml von der übergeordneten app.
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>faq.Application</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener
</listener-class>
</listener>
<filter>
<filter-name>metricFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>metricFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>SpringServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextAttribute</param-name>
<param-value>org.springframework.web.context.WebApplicationContext.ROOT</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Aber wenn ich starte Tomcat, bekomme ich die folgende Fehlermeldung.
Jun 30, 2014 12:17:23 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.boot.legacy.Kontext.web.SpringBootContextLoaderListener
java.lang.IllegalAccessError: versuchte Zugriffsmethode org.springframework.core.io.support.SpringFactoriesLoader.loadFactoryNames(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/List; aus Klasse org.springframework.boot.SpringApplication
bei org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:355)
bei org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:346)
bei org.springframework.boot.SpringApplication.initialize(SpringApplication.java:222)
bei org.springframework.boot.SpringApplication.(SpringApplication.java:198)
bei org.springframework.boot.builder.SpringApplicationBuilder.(SpringApplicationBuilder.java:83)
bei org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener.initWebApplicationContext(SpringBootContextLoaderListener.java:48)
bei org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
bei org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779)
bei org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
bei org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
bei org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:897)
bei org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:873)
bei org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
bei org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095)
bei org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617)
bei java.util.gleichzeitige.Vollzieher$RunnableAdapter.call(Vollzieher.java:441)
bei java.util.gleichzeitige.FutureTask$Sync.innerRun(FutureTask.java:303)
bei java.util.gleichzeitige.FutureTask.run(FutureTask.java:138)
bei java.util.gleichzeitige.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
bei java.util.gleichzeitige.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
bei java.lang.Thread.run(Thread.java:619)
Jun 30, 2014 12:17:23 AM org.apache.catalina.core.StandardContext startInternal
SCHWERE: Fehler listenerStart
KevyKev
Du musst angemeldet sein, um einen Kommentar abzugeben.
Spring Boot nicht unterstützt Servlet 2.5 offiziell, aber es braucht nicht viel, um es arbeiten. Vielleicht finden Sie diese nützlich: https://github.com/scratches/spring-boot-legacy. Beispiel hier: https://github.com/scratches/spring-boot-sample-gae.