0

アプリケーションを Jetty 7 から Jetty 8 に移行していますが、うまくいきません。バトルは現在 etc/jetty-webapps.xml にあります。この移行の前に、構成では常にこの値を「false」に設定していました

<Configure id="Server" class="org.eclipse.jetty.server.Server">
  <Ref id="DeploymentManager">
    <Call id="webappprovider" name="addAppProvider">
      <Arg>
        <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
          <Set name="monitoredDirName"><Property name="jetty.home" default="." />/webapps</Set>
          <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
          <Set name="scanInterval">1</Set>
          <Set name="contextXmlDir"><Property name="jetty.home" default="." />/contexts</Set>
          <Set name="extractWars">false</Set>
        </New>
      </Arg>
    </Call>
  </Ref>

この値を「false」に設定してbin/jetty.shを開始しようとすると、Jettyは次のような例外を吐き出します...

2013-04-08 17:33:03.380:INFO:oejd.DeploymentManager:Deployable added: /Users/bobk/work/workspace/DM_Server/build/distributions/device-management-1.6.5-DEVELOP-dev/webapps/root.war
2013-04-08 17:33:04.526:WARN:oejw.WebAppClassLoader:EXCEPTION 
java.lang.IllegalArgumentException: !file: jar:file:/Users/bobk/work/workspace/DM_Server/build/distributions/device-management-1.6.5-DEVELOP-dev/webapps/root.war!/WEB-INF/lib/guava-14.0.1.jar
    at org.eclipse.jetty.webapp.WebAppClassLoader.addClassPath(WebAppClassLoader.java:245)
    at org.eclipse.jetty.webapp.WebAppClassLoader.addJars(WebAppClassLoader.java:282)
    blah...blah...blah...

...WAR の WEB-INF/lib ディレクトリにあるすべての Jar ファイルに対して。etc/jetty-webapps.xml の extractWars の値を「false」から「true」に変更すると、jetty.sh が正常に Web アプリケーションをロードできるようになります。しかし、私が言ったように、この値は Jetty 6 以降ずっと「false」であり、機能しなくなったことはいらだたしいことです。

「false」はもはや正当な設定でさえありますか? そうである場合、これを機能させるには、他に何を設定、設定解除、etc/ ディレクトリ、jetty.conf、または start.ini ファイルに含める必要がありますか?

どんな助けでも大歓迎です。

4

1 に答える 1

3

ボブ、

jetty-7、8、および 9 のバグ トラッカーとすべてのドキュメントは、Eclipse にあります。http ://www.eclipse.org/jetty/

IIRC の jetty-6 では、extractWar が false に設定されていたにもかかわらず、内部の jetty が WEB-INF ディレクトリを抽出してコピーし、ホット再デプロイを使用して Windows での問題を解決していました。したがって、完全な戦争を抽出していないと思っていたとしても、少なくともその一部は抽出されていました.

jetty-7,8,9 では、extractWar、copyWebInf、copyWebDir の設定に正確に従います。デフォルトは抽出です - サーブレット仕様の反復ごとに抽出が推奨されています。これは、アンパックされた war で実際に最適に機能する機能がより多くあるためです。

1月

于 2013-04-10T23:08:14.110 に答える