0

WebAppClassLoaderのカスタムサブクラスを使用してJetty(6.x)WebAppContextを構成しようとしています。コード(Scala)では、これは単純に次のとおりです。

  val context = new WebAppContext()
  val cwacl = new CustomWebAppClassLoader(context)
  context.setClassLoader(cwacl)
  ...

これは、Jettyを埋め込むときに正常に機能します。ただし、本番環境では、warファイルをスタンドアロンのjettyインスタンスにデプロイするだけなので、このようなコードで構成する機会はありません。

Jettyの設定ファイルで同じことをする方法がわかりません。どんな助けでも大歓迎です。

ボーナス: CustomWebAppClassLoaderを使用するようにmaven-jetty-pluginをどのように構成しますか:)

4

2 に答える 2

1

コンテキスト構成ファイルを使用できます。contexts/ディレクトリに例があります。

これは、これらの線に沿ったものになります。

<Configure id="mycontext1" class="org.mortbay.jetty.webapp.WebAppContext">
    <Set name="classLoader">
        <New class="f.q.n.CustomWebAppClassLoader">
           <Arg><Ref id="mycontext1"/></Arg></New>
    </Set>
</Configure>

(詳細については、Jetty XML構文構成リファレンスを参照してください。)

于 2010-09-14T19:21:44.463 に答える
0

コンテキスト構成ファイルを使用する代わりに、pom.xmlファイルでclassloader属性を設定できます。たとえば、jetty> = 8.xの場合、起動を高速化するためにWEB-INF内のクラスをスキャンしません。

<plugins>
  <plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>${jetty.version}</version>
    <configuration>
      <webApp>
        <webInfIncludeJarPattern>^$</webInfIncludeJarPattern>
      </webApp>
      <stopKey>foo</stopKey>
      <stopPort>9999</stopPort>
    </configuration>
  </plugin>
</plugins>

参照:JettyプラグインのWebアプリ構成

于 2015-04-27T11:45:32.940 に答える