【问题标题】:How to deploy and install using single command如何使用单个命令进行部署和安装
【发布时间】:2011-06-07 06:14:20
【问题描述】:

我有一个分为四个 Flex 模块的应用程序: 1) 主模块 2) 子模块 1 3) 子模块 2 3) 图书馆项目。

我们以 maven 方式创建了这个项目。当我们尝试使用 mvn install 构建项目时,它构建得很好。战争文件正在生成,并在目标文件夹中可用。

我现在有一个要求,我还需要将项目部署到 tomcat 服务器。为了实现这一点,我使用了 codehaus mojo 项目提供的 tomcat-maven-plugin。当我尝试执行 mvn tomcat:deploy 时,构建失败。构建引擎不是 能够查找我的图书馆项目。 如果我尝试执行 mvn tomcat:deploy-only,我们执行 mvn istall 时生成的 war 文件将被部署。

谁能帮我解决这个问题。

使用的 Maven 版本:3.1 使用的 Flex mojos 版本:4.0-beta-7

谢谢, 文内拉

【问题讨论】:

  • 根据 tomcat-maven-plugin 文档,“mvn tomcat:deploy”在 Maven 打包阶段之后执行 tomcat 部署步骤。为了隔离问题,您可能需要尝试“mvn package”一次以确保它也没有失败。

标签: tomcat deployment maven


【解决方案1】:

正如 cmets 中所说,tomcat-maven-plugin 在 maven 打包阶段之后执行部署。

由于部署几乎是复制的另一个词,如果您在使用 tomcat 插件时遇到问题,也可以使用maven-war-plugin(您可能已经在使用)。例如:

</plugins>
  <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1.1</version>
            <configuration>
                <webappDirectory>/sample/servlet/container/deploy/directory</webappDirectory>
                <outputDirectory>/sample/servlet/container/deploy</outputDirectory>
            </configuration>

  </plugin>
</plugins>

上面将战争复制到 outputDirectory 并将爆炸战争复制到 webappDirectory,覆盖默认路径(调用例如命令“mvn package”)

默认方式:

<project>
  ...
  <groupId>com.example.projects</groupId>
  <artifactId>documentedproject</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Documented Project</name>
  <url>http://example.com</url>
  ...
</project>

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2016-05-10
    • 1970-01-01
    • 2018-12-07
    • 2016-08-31
    • 2019-11-25
    • 2019-03-14
    • 2015-03-26
    • 2021-05-16
    • 2017-10-26
    相关资源
    最近更新 更多