如何使用单个命令进行部署和安装

时间:2011-06-07 06:14:21

标签: tomcat deployment maven

我有一个分为四个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

谢谢, Vennela

1 个答案:

答案 0 :(得分:1)

如评论中所述,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>

上面将war复制到outputDirectory并将war展开到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>

希望它有所帮助。