Jetty は Eclipse に移行しました。これには非常に微妙な情報があります。これは、別のレベルのニュアンスであるパッケージ名の変更にもつながりました. 彼らは、Jetty6 設定を Jetty 7 設定に変換するユーティリティを公開しましたが、これもあまり人気がありません。私は Eclipse Jetty フォーラムに失望しています。ここでは、Jetty 7 以降に関するドキュメントを探す必要がありますhttp://wiki.eclipse.org/Jetty/Starting
これはhttp://wiki.eclipse.org/Jetty/Reference/jetty.xmljetty.xml
から取られた最小限のものだと思います
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">\
<Configure id="Server" class="org.eclipse.jetty.server.Server">
</Configure>
しかし、私はむしろのコピーから始めて、$JETTY_HOME/etc/jetty.xml
そこから変更したいと思います。
ディレクトリに問題がなければ$JETTY_HOME/webapps
、この部分を変更してポートを設定できます
<Configure id="Server" class="org.eclipse.jetty.server.Server">
...
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="host"><Property name="jetty.host" /></Set>
<Set name="port"><Property name="jetty.port" default="7777"/></Set>
<Set name="maxIdleTime">300000</Set>
<Set name="Acceptors">2</Set>
<Set name="statsOn">false</Set>
<Set name="confidentialPort">8443</Set>
<Set name="lowResourcesConnections">20000</Set>
<Set name="lowResourcesMaxIdleTime">5000</Set>
</New>
</Arg>
</Call>
....
</Configure>
それ以外の場合は、ここで説明した方法を変更context.xml
します (Jetty 7 の場合) portA から webbapp A を提供し、portB から webapp B を提供する方法
次のページも参照してください。
.... 編集 #1: コネクタごとの webapp の URL が間違っていて申し訳ありません。ポート A から webbapp A を提供し、ポート B から webapp B を提供する方法へのリンクを更新して、Jetty 7 向けのドキュメントを参照するようにしました。
「さまざまな環境で Jetty をどのように扱っていますか?」に関する最新情報
開発
Maven を使用しているため、組み込みの Jetty が機能します。実行するだけmvn clean install run:jetty
で、ポートはMavenの構成ファイル、つまりpom.xml
. これはIDE 依存ではなく、ANT を使用して Jetty を簡単に埋め込むことができますが、試したことはありません。
テスト
スタンドアロンの Jetty を実行しています。ポートを構成し、パラメーターを調整し、デフォルトのアプリ (root.war など) を削除し、アプリ固有のポートと展開ディレクトリを含む context.xml を作成しました。(残念ながら、Eclipse Jetty のメーリング リストでこの質問をしましたが、誰も答えてくれませんでした)。これは 1 回の設定です。
テスト ビルド/デプロイの場合、テスト環境仕様に従って WAR をビルドし、それをテスト環境にアップロードするビルド スクリプトがあります。その後、(1) Jetty を停止し、(2) war ファイルを myApp の webapp ディレクトリにコピーし、(3) Jetty を再起動するシェル スクリプトを呼び出します。
ただし、これを行うより簡単な方法は、Maven の Cargo プラグインを使用することです。運が悪かったのは、Cargo と互換性のない Jetty 7.1.6 を使用していたことです。後で彼らはそれを修正しましたが、私は自分の仕事をカスタムスクリプトでやり遂げました.
製品
Prod はほとんど test と同じ手順を持っています。チューニングは、より高いセキュリティと負荷分散のために行われます。しかし、デプロイの POV からは、テスト ケースから製品まで何の違いもありません。
XML ファイルとは何か、そこに何個必要かについては気にしていないことに注意してください。私が懸念しているものを使用しました -jetty.xml
とcontext.xml
. さらに、 JVM パラメーター、カスタム XML の受け渡し、および開始と停止のために、jetty.conf
使用するのがはるかにクリーンであることがわかりました。jetty.sh
お役に立てれば。
ホット展開の場合:
ここで、Maven を使用し、組み込みの Jetty を使用するとします。「銃声探知機」のように、コードがいつ変更されたかを知るだけです。dev envt では、Jetty を実行し、変更を加え、ページを更新し、変更を確認します (ホット デプロイ) 。詳細はこちらhttp://docs.codehaus.org/display/JETTY/Maven+Jetty+Pluginを探してくださいscanIntervalSeconds