0

Tomcat6 インスタンスの ROOT コンテキストで実行される webapp があります。サブパス経由でアクセスできる、この webapp に hawtio コンソールを追加したいと思います。http://myserver:8080つまり、まだ自分の webapp でありたいのですがhttp://myserver:8080/hawtio、hawtio コンソールを開く必要があります。

hawtio.warファイルをにコピーするだけで、$TOMCAT_HOME\webappsほとんどそこにたどり着くことができることを私は知っています。悲しいかな、私は 2 つの別々の webapp を展開する必要はなく、代わりに 1 つを展開するだけで、hawtio に乗ってもらうことができます。

pom.xml私は私のようにhawtioを依存関係として追加することから始めました:

<dependency>
  <groupId>io.hawt</groupId>
  <artifactId>hawtio-default-offline</artifactId>
  <version>1.2.2</version>
  <type>war</type>
</dependency>

これをアセンブリ スクリプトと組み合わせると、必要なすべての hawtio クラスを含む war ファイルが作成されます。

次に、hawtio サーブレットを のサブパスにマップする必要がありますweb.xml。たぶんそうです:

<servlet>
  <servlet-name>HawtioServlet</servlet-name>
  <servlet-class>THIS-IS-MY-QUESTION</servlet-class>
  <load-on-startup>3</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>HawtioServlet</servlet-name>
  <url-pattern>/hawtio/*</url-pattern>
</servlet-mapping>

そして、それが私の質問に答える必要があるところです。この場合に使用できる hawtio サーブレット クラスは何ですか?

さまざまな hawtio パッケージに多数の hawtio サーブレットが含まれていますが、すべてサブ サーブレットであり、メイン サーブレットではないようです。

私は何が欠けていますか?

4

1 に答える 1

2

hawtio を WAR と組み合わせるとうまくいくはずです (JS ライブラリ、CSS、画像、HTML ファイルなどと競合しない場合)。

ただし、別の WAR に依存している場合、maven-war-plugin は web.xml ファイルを結合しません。そのため、hawtio から web.xml をコピーすることをお勧めします: https://github.com/hawtio/hawtio/blob/master/hawtio-web/src/main/webapp/WEB-INF/web.xml#L9と追加あなた自身のものをそれに入れます。

ある日、hawtio が Servlet 3.0 になると、アノテーションを使用するようになり、組み合わせがはるかに簡単になります。欠点は、hawtio をどこでも実行できるようにしようとしていることです。そのため、すぐに Servlet 3 を想定することはできません

于 2014-01-20T14:48:37.100 に答える