2012-03-27 8 views
0

私はSpring + Tilesプロジェクトが正常に動作していますが、今はTomcatにデプロイする代わりにJettyに移動する予定です。 {DispatcherServlet}を使用し、setContextConfigLocation( "classpath:spring-application-context.xml")を設定するように、Jettyサーバーを設定しました。私のアプリケーションのコンテキスト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(); 

任意のヘルプ?

+0

Mavenを使用していますか?あなたに多くの時間を節約できるMaven向けのjettyプラグインがあります。この種の問題はありません。 – jddsantaella

+0

私はmavenを使用していますが、ビルド用です。デプロイメントにもmavenを使用することを意味しますか? – tazo

+0

Mavenはビルドだけでなく、多くのことを行うことができます。私の答えを見てください。 – jddsantaella

答えて

1

簡単な設定で、何もコーディングすることなくアプリケーションを実行するために、MavenにJetty plugi nを使用してください。例:

<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を使用してアプリケーションを実行してください。

+0

私は実際にorg.mortbay.jettyを使用することをお勧めします:jettyバージョン7(サーブレット2.5用)または8(サーブレット3.0用)... jetty6は非常に古いです。 –

+0

これは使用できますかバイナリで、ソースコードの代わりに? – tazo

+0

上記の設定は、mavenプラグイン用です。 warファイルを展開するにはjettyをダウンロードしてインストールする必要があります – jddsantaella

関連する問題