Ich habe ein Spring + Tiles-Projekt, das funktioniert gut und jetzt plante ich, es in Jetty zu verschieben, anstatt auf Tomcat zu implementieren. So konfigurierter Anlegesteuerserver, um {DispatcherServlet} zu verwenden, und setContextConfigLocation ("classpath: spring-application-context.xml"). In meinem Anwendungskontext XML habe ich Kacheln konfiguriert und meine Kacheln.xml-Datei befindet sich im WEB-INF-Verzeichnis, aber während der Initialisierung findet meine Anwendung sie nie, egal, ob sie im Klassenpfad ist oder nicht, sie kann sie nicht finden.Kann keine Konfigurationsdateien in Jetty + Spring + Tiles Einsatz finden
Mein Einsatz Verzeichnisstruktur
|- my_app.jar
|- WEB-INF
|- tiles.xml
|- views
| - jsps's here
meine Anwendungskontext xml
<context:component-scan base-package="com.jetty.spring"/>
<mvc:annotation-driven/>
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView" />
</bean>
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles.xml</value>
</list>
</property>
</bean>
Jetty Server-Code
Server server = new Server(8080);
Context context = new Context(server, "/", Context.SESSIONS);
DispatcherServlet dispatcherServlet = new DispatcherServlet();
dispatcherServlet.setContextConfigLocation("classpath:spring-application-context.xml");
ServletHolder servletHolder = new ServletHolder(dispatcherServlet);
context.addServlet(servletHolder, "/*");
server.start();
server.join();
jede mögliche Hilfe?
Verwenden Sie Maven? Es gibt ein Jetty-Plugin für Maven, mit dem Sie viel Zeit sparen können. Sie werden diese Art von Problemen nicht haben. – jddsantaella
Ich benutze Maven, aber nur für Build. Sie beabsichtigen, Maven auch für den Einsatz zu verwenden? – tazo
Maven ist nicht nur für Build, es kann viele Dinge für Sie tun. Siehe meine Antwort. – jddsantaella