MavenプロジェクトをTomcat 7またはTomcat 8に展開する。


最近はMavenを学んでプロジェクトを構築していますが、webappを構築する時には毎回mvn clean installを作成したwarバッグを自動的にTomcat/webappsにコピーしています。Googleはどのようにmavenプロジェクトをtomcatに展開しますか?大量の関連資料を見つけましたが。しかし、最後には依然として不可解な質問が出てきます。最後に狂ったgoogleは一日で大量の資料を調べて、最終的にこの問題を解決しました。
問題が発生した原因:調べられた多くの関連資料はtomcat 6またはより低いバージョンに対してTomcat 7またはtomcat 8と互換性がない。
最終解決策:
1.tomcatのmanager機能を開き、tomcatにユーザーとキャラクターを割り当てる。
tomcat/conf/tomcat-users.xmlを開きます。ラベルに追加:
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
tomcatアクセスを開始しますhttp://localhost:8080/manager設定されたユーザー名とパスワードを入力してログインできますか?次のステップに進むことができます。
2.maven項目のpom.xmlにtomcatのpluginsを追加する:
<build>
    <finalName>testWebAppInMaven</finalName>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <url>http://localhost:8080/manager/text</url>
          <username>admin</username>
          <password>admin</password>
          <path>/${project.artifactId}</path>
        </configuration>
      </plugin>
      </plugins>
ここでは以下の点に注意します。
  • tomcatのusernameとpasswordを直接プロジェクトpom.xmlに記入すればいいです。インターネットで探した資料は全部このようなやり方ですが、tomcat 7か8では使えません。
  • <url>に必ず書きます。http://localhost:8080/manager/textではなくhttp://localhost:8080/managerまたはhttp://localhost:8080/manager/html。
  • <version>2.2</version> 2.2のバージョンは、tomcat 8
  • をサポートすることができます。
  • 最終配置問題:mvn tomcat 7:deployまたはtomcat 8:redeploy
  • 最終的にwarパッケージにしてtomcat/webappsディレクトリに割り当てられます。このwarバッグの名前は<path></path>です。最後に正しくアクセスすればいいです。