繁体   English   中英

将Maven项目部署到tomcat

[英]Deploy maven project to tomcat

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

也没有用。

默认的maven生命周期中, mvn deploy意味着将一个或多个构建工件部署到maven存储库。 原因是因为maven-deploy-plugindeploy目标绑定到生命周期的deploy阶段。 例如,使用包装jar时,将自动完成此配置。

在行家中

  • Maven构建生命周期由阶段组成
  • 一个阶段由插件目标组成
  • 包装类型(例如罐子,耳朵,战争)预先配置插件目标,以在生命周期阶段执行

为了解决您的问题,我将首先打包webapp,然后调用tomcat7-maven-plugindeploy目标。

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

或简单地

mvn package tomcat7:deploy

上面的mvn命令表示:

  • 调用默认的构建生命周期,直到阶段包
  • 然后tomcat7插件的目标deploy

如果您想了解maven如何将tomcat7:deploy解析为org.apache.tomcat.maven:tomcat7-maven-plugin:2.0:deploy ,则应阅读有关插件组和插件命名约定的更多信息。

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

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

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

2-您可以通过ssh访问tomcat

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

rsync -avz v_your_project_in_target root@v_ip:v_tomcat_name/webapps/v_project_name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM