2014-09-20 189 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