1

異なるアプリフォルダーを切り替えるようにjettyを構成しようとしています。例:App1とApp2の2つのアプリフォルダー(WEB-INF、クラス、戦争などを含む)があります。Linuxの「myapp」でApp1またはApp2を指すシンボリックリンクを作成し、http://host.com/myapp/resource ...を使用してリソース(つまり、アプリのサーブレット)にアクセスしたいと思います

etc / webdefault.xmlファイルに次の行を追加してエイリアスをenalbeしましたが、機能しませんでした。

<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>

<init-param>
<param-name>aliases</param-name>
<param-value>true</param-value>
</init-param>

</servlet>

この動作を有効にする方法はありますか?または別のアプローチが必要ですか?基本的に、大きな変更やサーバーの再起動なしで、本番アプリのバージョンをすばやく切り替える方法が必要です:)

4

1 に答える 1

2

コンテキストベースのデプロイメントを使用します。

を作成し、必要な${jetty.home}/contexts/myapp.xmlマッピングを指定します。

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC 
          "-//Mort Bay Consulting//DTD Configure//EN"
          "http://jetty.mortbay.org/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
   <Set name="contextPath">/myapp</Set>
   <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/App1</Set>
</Configure>

これにより、コンテキスト/myappがディレクトリによって提供されます${jetty.home}/webapps/App1

ホットデプロイメントがまだ有効になっている場合(デフォルトで有効になっています)。次に、を編集し${jetty.home}/contexts/myapp.xmlて保存するだけで、jettyが変更を取得し、新しい設定を提供します。

于 2013-03-27T17:24:43.693 に答える