0

Jetty8.1.4.v20120524とMaven3を使用しています。pomには次の構成があります。

  <plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>8.1.4.v20120524</version>
    <configuration>
      <jettyXml>${project.basedir}/src/main/resources/jetty.xml</jettyXml>
    </configuration>
  </plugin>

jetty.xmlで、コンテキストを定義します。

<Set name="handler">
  <New class="org.eclipse.jetty.server.handler.HandlerList">
    <Set name="handlers">
      <Array type="org.eclipse.jetty.server.Handler">
        <Item>
          <New class="org.eclipse.jetty.server.handler.ResourceHandler">
            <Set name="welcomeFiles">
              <Array type="String"><Item>index.xml,index.xhtml,index.html</Item></Array>
            </Set>
          </New>
        </Item>
        <Item>
          <New id="Contexts" class="org.eclipse.jetty.webapp.WebAppContext">
            <Set name="resourceBase"><SystemProperty name="jetty.home" default="src/main/webapp" /></Set>
            <Set name="contextPath">/</Set>
          </New>
        </Item>
      </Array>
    </Set>
  </New>
</Set>

これは期待どおりに機能し、/でアプリケーションを開始します。

INFO:oejs.Server:jetty-8.1.4.v20120524
INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,file:/<MY_DIRECTORY>/src/main/webapp/}
INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,file:/<MY_DIRECTORY>/src/main/webapp/}

ただし、この後、jetty-maven-pluginはデフォルトのコンテキストを開始しようとしているようですが、クラスが見つからないため失敗します。また、明らかに望まない「/」にバインドしようとします。

WARN:oejs.Holder:java.lang.ClassNotFoundException: org.basex.http.rest.RESTServlet
INFO:oejpw.PlusConfiguration:No Transaction manager found - if your webapp requires one, please configure one.
INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppContext{/,file:/<MY_DIRECTORY>/src/main/webapp/},file:/<MY_DIRECTORY>/src/main/webapp/
INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppContext{/,file:/<MY_DIRECTORY>/src/main/webapp/},file:/<MY_DIRECTORY>/src/main/webapp/
INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppContext{/,file:/<MY_DIRECTORY>/src/main/webapp/},file:/<MY_DIRECTORY>/src/main/webapp/

このコンテキストの開始を停止するにはどうすればよいですか?どんな助けでも大歓迎です。

4

2 に答える 2

1

Jan Bartelによるメーリングリスト(http://dev.eclipse.org/mhonarc/lists/jetty-users/msg02419.html)の回答によると、現在、Webアプリはjetty.xmlだけで構成することはできません。

したがって、Webアプリ関連のもの(リソースベースとコンテキストパス)をmavenpom.xmlに移動することで問題を解決しました。

于 2012-08-12T12:02:44.537 に答える
0

jetty-maven-pluginのバージョン8.1.4.v2012052を使用していて、pom.xmlのcontextPathを次のように設定しようとしました。

<configuration>
<webAppConfig>
    <contextPath>${application.contextpath}</contextPath>
</webAppConfig> 
...
</configuration>

それでも、contextPathはデフォルトで「/」になっています。

pom.xmlで同じ構成を使用してバージョン7.5.1.v20110908にダウングレードしました。意図したcontextPathが表示されました。

したがって、これはダウングレードによって解決される8.1.4バージョンの問題である可能性があると思います。

于 2012-08-22T21:17:31.797 に答える