将maven项目部署到tomcat

时间:2014-09-20 10:02:15

标签: java maven tomcat intellij-idea

我有Maven项目和Tomcat服务器。 当我点击" Maven LifeCicle"我在IDEA工作 - > "部署",我有一个问题:

[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的Piace是:

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

也没有用。

2 个答案:

答案 0 :(得分:2)

default maven lifecycle mvn deploy中意味着将一个或多个构建工件部署到maven存储库。原因是因为maven-deploy-plugin的{​​{1}}目标与生命周期的deploy阶段绑定。当您使用例如打包deploy时,将自动完成此配置。

在maven中

  • maven构建生命周期由阶段
  • 组成
  • 一个阶段由插件目标组成
  • 包装类型(例如jar,ear,war)预先配置插件目标,以便在生命周期阶段执行

为了解决您的问题,我首先打包webapp,然后调用jar的{​​{1}}目标。

deploy

或只是

tomcat7-maven-plugin

上面的mvn命令意味着:

  • 调用默认构建生命周期,直到阶段包
  • 然后是mvn package org.apache.tomcat.maven:tomcat7-maven-plugin:2.0:deploy 插件的目标mvn package tomcat7:deploy

如果您想知道maven如何解析deploytomcat7,您应该阅读有关plugin groups和插件命名约定的更多信息。

答案 1 :(得分:0)

使用maven deploy命令,通常会因各种原因而出错。 如果您在Unix / Linux系统中工作,我建议在控制台上使用“rsync”方法。 (您可以编写自己的shell脚本来轻松管理)。它不仅有助于在没有问题的情况下进行部署,还有助于在重新部署时获得时间(仅上载已更改的/新文件)。因为maven deploy / redeploy会将您的项目作为jar / war中的包上传。但是,“rysnc”方法逐个上传项目文件。

在使用它之前,你应该确定两个条件。

1-您的项目是在目标文件夹(Spring Tool Suite)中构建的

2-您可以通过ssh访问tomcat

示例代码: (v_:前缀,可变(可自定义))

table, th, td {border-collapse: collapse; border: 2px solid; color: #FFFFFF}
th {background-color: black;}

.top {width:110px; height: 25px; background-color: #FFFF00; color: #000000;}
.off {width:110px; height: 25px; background-color: #DDDDDD; color: #000000;}