저는 잘 작동하는 Spring + Tiles 프로젝트를 가지고 있으며 Tomcat에 배치하는 대신 Jetty로 옮길 계획입니다. 그래서 {DispatcherServlet}을 사용하고 내 setContextConfigLocation ("classpath : spring-application-context.xml")을 설정하도록 부두 서버를 구성했습니다. 내 응용 프로그램 컨텍스트 xml에서 타일을 구성하고 내 tiles.xml 파일은 WEB-INF 디렉토리에 있지만 초기화 중에 응용 프로그램이 찾지 못하거나 클래스 경로에 있는지 여부와 상관없이 찾을 수 없습니다.Jetty + Spring + Tiles 배치에서 설정 파일을 찾지 못합니다.
내 배포 디렉토리 구조
|- my_app.jar
|- WEB-INF
|- tiles.xml
|- views
| - jsps's here
내 응용 프로그램 컨텍스트 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>
부두 서버 코드
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();
어떤 도움을?
Maven을 사용하고 있습니까? 많은 시간을 절약 할 수있는 Maven 용 부티크 플러그인이 있습니다. 이런 종류의 문제는 없을 것입니다. – jddsantaella
나는 빌드를 위해서만 maven을 사용하고있다. 배포 용으로 maven을 사용한다는 의미입니까? – tazo
Maven은 빌드뿐만 아니라 많은 것을 할 수 있습니다. 내 대답을 보라. – jddsantaella