首页 文章

无法在Jetty Spring Tiles deployement中找到配置文件

提问于
浏览
0

我有一个Spring Tiles项目工作正常,现在我计划将它移动到Jetty而不是在Tomcat上部署 . 所以配置jetty服务器使用并设置我的setContextConfigLocation(“classpath:spring-application-context.xml”) . 在我的应用程序上下文xml中,我已经配置了tile并且我的tiles.xml文件位于WEB-INF目录中,但是在初始化期间我的应用程序从未找到它,无论它是否在classpath中,它都找不到它 .

我的部署目录结构

|- 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>

Jetty服务器代码

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();

任何帮助?

1 回答

  • 1

    使用Jetty plugi n for Maven可以使用简单的配置运行应用程序,无需编写任何代码 . 例如:

    <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>maven-jetty-plugin</artifactId>
        <version>6.1.26</version>
        <configuration>
            <webAppConfig>
                <contextPath>/</contextPath>
            </webAppConfig>
        </configuration>
    </plugin>
    

    然后,只需使用 mvn jetty:run 来运行您的应用程序 .

相关问题