Jetty でウェブアプリのコンテキストルートを変更する

Jetty でウェブアプリのコンテキストルートのデフォルトは ${jetty.home}/webapps だが、これを変更する設定の備忘録。

上記を参考にした。

以下の設定例は、 ${jetty.home} を /usr/local/jetty7 と仮定している。

/usr/local/jetty7/etc/jetty-contexts.xml

ContextProvider の monitoredDirName の jetty.home プロパティを /myApp にする。

              ...
              <New class="org.eclipse.jetty.deploy.providers.ContextProvider">
                <Set name="monitoredDirName"><Property name="jetty.home" default="." />/myApp</Set>
                <Set name="scanInterval">1</Set>
              </New>
              ...

/usr/local/jetty7/myApp/myApp.xml

/usr/local/jetty7/contexts/test.xml を /usr/local/jetty7/myApp/myApp.xml にコピーして変更する。

WebAppContext の war の jetty.home を /usr/local/jetty7/myApp/webapps/myApp にする。
なお overrideDescriptor の定義は不要なのでコメントアウトしている。

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  ...
  <Set name="war"><SystemProperty name="jetty.home" default="."/>/myApp/webapps/myApp</Set>
<!--
  <Set name="overrideDescriptor"><SystemProperty name="jetty.home" default="."/>/contexts/test.d/override-web.xml</Set>
-->
  ...
</Configure>

再起動して動作確認

この後、Jetty を再起動して /usr/local/jetty7/myApp/webapps/myApp に配置した JSP ファイルが表示できれば設定完了。
/usr/local/jetty7/myApp/webapps/myApp/hello.jsp なら http://localhost:8080/hello.jsp にアクセスしてみる。