0

Eclipse Indigo で m2e プラグインを使用して Maven プロジェクトをセットアップし、mvn eclipse:eclipse -Dwtpversion=1.5. サーブレット マッピングを作成できないサーブレットを除いて、Tomcat7 でプロジェクトを起動して実行することができました。

web.xml ファイルを変更しようとしましたが、ClassNotFoundException がスローされます。ディレクトリ構造と web.xml :

(ROOT)
    +src
       +main
          +resources
              +DrawInitialMap.java
          +webapp
               (WebContent here)


<web-app>
   <servlet>
      <servlet-name>DrawInitialMap</servlet-name>
      <servlet-class>(groupId).(artifactId).src.main.resources.DrawInitialMap</servlet-class>
   </servlet>
   <servlet-mapping>
      <servlet-name>DrawInitialMap</servlet-name>
      <url-pattern>/drawInitialMap.do</url-pattern>
   </servlet-mapping>
  (...)
</web-app>

@WebServlet アノテーションもサーブレットのマッピングに失敗しますが、次のようになります。

@WebServlet(name="drawInitialMap", description="visualizes ttrp on html5 canvas", urlPatterns={"/drawInitialMap.do"})

事前に感謝します。さらにコードが必要な場合はお知らせください。

PS : サーブレットは、Maven を使用せずに動的 Web プロジェクト モードで完全に機能したことに注意してください。

4

1 に答える 1

0

いくつかの問題があります。

  1. eclipse:eclipse の使用を停止する必要があります。代わりに、Eclipse Marketplace からM2E 用の WTP 統合をインストールします。
  2. Maven プロジェクトでは、DrawInitialMap は /src/main/classes フォルダーにある必要があります。したがって、デフォルトのMavenプロジェクトの規則に従ってコンパイルされます
  3. web.xml の servlet-class 要素には完全なクラス名が必要です。つまり、(groupId).(artifactId).src.main.resources のようなものは必要ありません。
于 2012-06-27T13:42:08.197 に答える