2

サンプルサーブレットを含む非常に単純な .WAR があります。次のコマンドを使用して、servicemix にデプロイできます。

osgi:install file:///home/seiho/apache-servicemix-4.4.2/deploy/TestServlet.war?Bundle-SymbolicName=TestServlet&Webapp-Context=/TestServlet

そして、私のブラウザでそれを見てください。ただし、ファイルへのフル パスのみを使用します。例: localhost:8080/TestServlet/index.html または localhost:8080/TestServlet/TestServlet (私のサーブレットは TestServlet クラスです)。
次のように入力した後、index.html ページを自動的に起動したい: localhost:8080/TestServlet

どうやってするの?



さらに重要
.WAR ファイルまたはサーブレット プロジェクト (ソースを入手しました) を変換して、新しい .WAR ファイルを $SERVICEMIX_HOME/deploy ディレクトリにコピーすることで自動デプロイできるようにする方法が必要です。

MANIFEST.MF ファイルを編集しようとしましたが、成功しませんでした。おそらく私は何か間違ったことをしています。

アドバイス/ヘルプをありがとう。

4

2 に答える 2

0

wabとして認識されるようにするには、マニフェストにコンテキストパスヘッダーを追加する必要があります。

Web-ContextPath: TestServlet
于 2012-08-24T07:32:03.030 に答える
0

今は動いています!私はこのページに従ってMANIFEST.MFを実行していました:http://team.ops4j.org/wiki/display/ops4j/Pax+Web+Extender+-+War+-+OSGi-fy

問題は、そのページに記載されているオプションではなく、何らかの理由で「Bundle-Version:1.0」行が必要だったことです。

正直なところ、Bundle-Versionfix-itを追加するだけです。

MANIFEST.MFに何か問題があることはわかっていたので、Holly Cumminsの質問の後、もう少し遊んでみました。ホリーに感謝します。

手動でサイトを起動しても、まだ何もできません(手動でindex.htmlを入力する必要があります)。

http://localhost:8080/TestServlet/私にこれを与えます:


HTTPエラー404

/TestServlet/へのアクセスに問題があります。理由:

Not Found

Jetty://を搭載


http://localhost:8080/TestServlet/index.html適切なサイトを教えてくれます。

于 2012-08-24T07:32:30.160 に答える