2012-08-06 103 views
3

嗨,我想用maven部署我的應用程序。通過網絡界面部署炒鍋。但個應用Maven的第一個取消部署(這是rght),然後停在了的LogMessage「上傳」 ca.30秒和失敗:用tomcat7上的maven部署

tomcat7:在我的pom.xml

部署

[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 

的配置

<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:重新部署:

<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] 

是否可以更改部署超時?也許我的應用程序需要長時間來啓動

編輯: 我發現,當我簽出項目並運行tomcat7:其中的Tomcat運行它的工作原理

回答

1

我猜你現在正在執行的同一臺機器上部署目標tomcat的:部署,取而代之的是,嘗試運行目標tomcat的:重新部署,並確保你已經在pom.xml中添加Tomcat的Maven的插件

+0

您好我已經更新了我的問題 – wutzebaer 2012-08-06 08:18:28

+0

**不能調用Tomcat管理:目標服務器無法響應** 實際的問題是與tomcat的。只是**嘗試構建後手動啓動tomcat。 – nand 2012-08-06 08:33:33

+0

也許這是一個與tomcat的問題,但無法弄清楚什麼:通過web界面的deploymant工作,maven可以登錄到管理器,並開始上傳 – wutzebaer 2012-08-06 08:41:38

3

雖然後期的答案,有人可能覺得這有用。 如果您使用的是maven3和tomcat7,以下方法適用於我。我並不知道tomcat7中應用程序管理器端點的更改。

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

Tomcat7改變其部署終點從http://tomcatserver:8080/manager/htmlhttp://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"/> 

在行家的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 
+0

我們如何將應用程序部署到多個服務器? – vishal 2014-05-27 07:15:35