2014-09-20 155 views
-1

我有Maven項目和Tomcat服務器。 我在IDEA工作,當我點擊 「Maven的LifeCicle」 - > 「部署」,我有一個問題:將maven項目部署到tomcat

[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ TestMaven --- 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 8.035 s 
[INFO] Finished at: 2014-09-20T13:52:32+04:00 
[INFO] Final Memory: 11M/93M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project TestMaven: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [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.codehaus.mojo</groupId> 
<artifactId>tomcat-maven-plugin</artifactId> 
<configuration> 
<server>tomcat</server> 
<url>http://localhost:8080/manager/text</url> 
</configuration> 
</plugin> 

沒有工作或:

 <plugin> 
      <groupId>org.apache.tomcat.maven</groupId> 
      <artifactId>tomcat7-maven-plugin</artifactId> 
      <version>2.0</version> 
     </plugin> 

也沒有工作。

+1

根據輸出,你沒有部署到Tomcat,你正在部署到Maven存儲庫。可能你的pom會錯過'distributionManagement'部分。請參閱[這裏](http://maven.apache.org/plugins/maven-deploy-plugin/usage.html)。 – 2014-09-20 10:04:59

回答

1

default maven lifecyclemvn deploy表示將一個或多個構建工件部署到Maven存儲庫。原因是因爲maven-deploy-plugindeploy目標必然與生命週期的deploy階段有關。當您使用例如包裝jar時,此配置會自動完成。

在行家

  • 行家構建生命週期由相
  • 的相位是由插件的目標
  • 包裝類型(例如罐,耳,戰爭)預配置了插件目標執行的生命週期階段

爲了解決您的問題,我會先打包的webapp,然後調用tomcat7-maven-plugindeploy目標。

mvn package org.apache.tomcat.maven:tomcat7-maven-plugin:2.0:deploy 

或簡單地

mvn package tomcat7:deploy 

上述MVN指令裝置:

  • 調用默認生命週期,直到相包
  • 然後球門tomcat7插件deploy

如果你想知道行家如何解決tomcat7:deployorg.apache.tomcat.maven:tomcat7-maven-plugin:2.0:deploy你應該閱讀更多關於plugin groups和插件的命名約定。

0

使用maven deploy命令,通常會由於各種原因而出錯。 如果你在Unix/Linux系統下工作,我建議在控制檯上使用「rsync」方法。 (你可以編寫自己的shell腳本來輕鬆管理)。它不僅幫助部署沒有問題,而且有助於在重新部署時(只上載更改/新文件)獲得時間。因爲maven部署/重新部署將jar/war中的項目上傳爲捆綁包。但是「rysnc」方法會逐個上傳您的項目文件。

在使用它之前,你應該確定這兩個條件。

1項目的生成目標文件夾中(春季工具套件)

2 - 你必須通過ssh訪問到tomcat

示例代碼:(V_:前綴是可變的(可定製))

rsync -avz v_your_project_in_target [email protected]_ip:v_tomcat_name/webapps/v_project_name