1

アプリケーションに jetty を埋め込んでいます。フォルダー ツリーの構造は次のとおりです。

|--lib
|--WebRoot
      |---WEB-INF
                |---lib

私が疑問に思っているのは--- struts2 libs (例: struts2-core-2.2.3.1.jar、xwork-core-2.2.3.1.jar) をどこに置くべきか、サーブレット関連の api (例: servlet-api- 2.5-6.1.11.jar、jasper-compiler-5.5.15.jar API)?

jar を最上位の lib フォルダーまたは WEB-INF 内の lib フォルダーに配置する必要がありますか?

4

1 に答える 1

1

これは、アプリをどのように構築したいかによって異なります。埋め込みの場合、war ファイル (展開されているかどうかに関係なく) と WEB-INF の下のライブラリの規則を使用する従来の webapp アプローチに従う必要はありませ。 web.xml を使用した例では、webapp デプロイヤーのアイデアを完全にスキップして、ハンドラーの変更を自分で構築し、Java コードでサーブレットを登録することができます。埋め込まれた例のいくつかを見てください。

http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/example-jetty-embedded/src/main/java/org/eclipse/jetty/embedded/ManyServletContexts.java

そこには他の例もあります。埋め込む場合は、戦争を展開する必要がない限り、その側面をいじる必要はありません。war を展開する必要がある場合は、サーブレット コンテナーの通常の使用法にあるもの、WEB-INF/lib のその war のもの、およびシステム クラスローダーのものをメインのプライマリ クラスパスに戻します。

于 2012-04-25T15:10:59.717 に答える