3

こんにちは、アプリケーションを Maven でデプロイしようとしています。Web インターフェースを介して中華鍋を展開します。ただし、maven は最初にアプリをアンデプロイし (これは正しい)、ログメッセージ「アップロード済み」で約 30 秒間停止し、失敗します。

tomcat7:デプロイ

[INFO] Deploying war to http://192.168.1.137:8080/Application
Uploading: http://192.168.1.137:8080/manager/html/deploy?path=%2FApplication&update=true
Uploaded: http://192.168.1.137:8080/manager/html/deploy?path=%2FApplication&update=true (17575 KB at 23215.6 KB/sec)

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 57.061s
[INFO] Finished at: Mon Aug 06 09:41:27 CEST 2012
[INFO] Final Memory: 19M/220M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.0-beta-1:deploy (default-cli) on project Application: Cannot invoke Tomcat manager: The target server failed to respond -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

私のpom.xmlの設定

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <configuration>
        <url>http://192.168.1.137:8080/manager/html</url>
        <username>admin</username>
        <password>password</password>
        <path>/Application</path>
        <update>true</update>
    </configuration>
</plugin>

私も tomcat:redeploy で古いプラグインを試しました:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <configuration>
        <url>http://192.168.1.137:8080/manager/html</url>
        <username>admin</username>
        <password>password</password>
        <path>/Application</path>
    </configuration>
</plugin>

しかし、それも失敗します:

[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:redeploy (default-cli) on project Application: Cannot invoke Tomcat manager: Unexpected end of file from server -> [Help 1]

デプロイのタイムアウトを変更することはできますか? 多分私のアプリは起動するのに時間がかかる

編集: プロジェクトをチェックアウトし、tomcat が実行されている同じマシンで tomcat7:deploy を実行すると、動作することがわかりました

4

2 に答える 2

3

遅い答えですが、誰かがこれを便利だと思うかもしれません。maven3 と tomcat7 を使用している場合、以下の方法でうまくいきました。Tomcat7 でのアプリケーション マネージャー エンドポイントの変更については知りませんでした。

Environment - Apache Maven 3.0.4,apache-tomcat-7.0.34,Windows 7

Tomcat7 は、デプロイ エンドポイントを からhttp://tomcatserver:8080/manager/htmlに変更しましたhttp://tomcatserver:8080/manager/text

だから私のpom.xmlは

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
     <configuration>
           <url>http://tomcatserver:8080/manager/text</url>
           <server>tomcat</server>
          <path>/myWebApp</path>
         </configuration>
  </plugin>

tomcat-users.xml 内

<role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <role rolename="admin-gui"/>
  <role rolename="admin-script"/>

  <user username="root" password="root" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/>

maven settings.xml 内

<server>
  <id>tomcat</id>
  <username>root</username>
  <password>root</password>
</server>

context.xml では、これはオプションであり、tomcat7 への maven3 のデプロイとは関係ありませんが、jar のロックが発生する場合があるため、より安全な側に置いてください。

<Context  antiJARLocking="true" antiResourceLocking="true">

今号

mvn tomcat:deploy

Maven をデプロイする前に tomcat を起動することを忘れないでください。

デプロイが成功すると、アプリケーションは次の場所で利用できるようになります

http://tomcatserver:8080/myWebApp
于 2013-04-07T04:03:27.547 に答える
1

目標 tomcat:deploy を実行していると思います。代わりに、目標tomcat:redeployを実行してみて、pom.xml に tomcat-maven-plugin が追加されていることを確認してください。

于 2012-08-06T08:12:48.770 に答える