4

从我关注的论坛中,我尝试了一些方法来找到一种在 maven 中使用 tomcat 插件部署多重战争的方法,但我无法成功。

我创建了第三个项目并使用了三个项目来部署它们,但我还没有这样做。你能告诉我怎么做吗?

最好的问候阿尔珀·科普兹

这是我使用的 pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>
tr.com.provus.pays
</groupId>
<artifactId>PAYSGroupProject</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>

  <modules>
    <module>../PAYSWeb</module>
    <module>../PAYSDashboard</module>
    <module>../PAYSStaticWeb</module>
  </modules>

  <name>PAYSGroupProject</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <build>
  <plugins>
    <plugin>
<groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
     <executions>
          <execution>
            <id>deploy</id>
            <phase>pre-integration-test</phase>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>

         <configuration>
       <warSourceDirectory>WebContent</warSourceDirectory>
        </configuration>
  </plugin>
  </plugins>
  </build>

</project>
4

2 回答 2

4

我猜你不能在 pom 类型的项目上使用 tomcat 插件,而是尝试将插件配置到一个 war 项目中,并将其他插件包含为 webapp 依赖项,如下所示:

<configuration>
    <webapps>
      <webapp>
        <contextPath>/PAYSWeb</contextPath>
        <groupId>tr.com.provus.pays</groupId> 
        <artifactId>PAYSWeb</artifactId>
        <version>${project.version}</version>
        <type>war</type>    
        <asWebapp>true</asWebapp>
      </webapp>
      <webapp>...</webapp>
    </webapps> 
  </configuration>

也看看这个帖子(但没有回答)

于 2013-06-10T14:53:29.547 回答
1

每个 webapp 都需要一个不同的上下文根,该根以“path”值提供给 tomcat7 maven 插件。

您将从其自己的 POM 独立部署每个 Web 应用程序。但是由于您有一个 pom 类型的项目会导致其他项目构建,您应该能够一次重新部署所有三个。

请注意,使用此插件有两种部署方式:

  1. 您可以在没有战争的情况下进行部署。它只是编译java文件并将它们直接部署到tomcat。
  2. 你可以部署战争。Maven 必须构建战争,然后将其部署到 Tomcat。这更像是生产部署,可帮助您验证战争是否会正确部署。

所以。将您的插件 XML 移动到三个“模块”pom 文件中的每一个。他们将具有“战争”类型。然后在配置下添加:

<path>paysWeb</path>

<configuration>第一个“模块”的标签下。当然,您<path>为每个“模块”使用不同的名称。

这里有更多信息:http: //tomcat.apache.org/maven-plugin-2.0/tomcat7-maven-plugin/usage.html

于 2013-06-10T15:25:35.093 回答