繁体   English   中英

我可以在多模块项目的基础pom中打仗吗?

[英]Can I build a war in the base pom of a multi-module project?

所以我有一些部署专家,他们不了解Maven,也不必了解它。 他们所需要的只是战争的新生力量。 对于我们的系统,我严重怀疑我们是否可以使用通过插件进行自动部署之类的方法,因此Tomcat插件已淘汰。 而且我不能简单地拥有一个依赖于其他项目的项目,因为不支持我们的SCM ...除非当项目位于本地子目录中时才能这样做。 最重要的是,我也没有对组织存储库的写权限。 可能这意味着我无法发布行家方式,或者如果可以的话,它将变得毫无意义。

我想知道的是,是否存在一个组件(模块?)构建结构,该结构将生成的归档保存在项目的基础中,从而使他们不必在大量令人困惑的组件,组件,配置文件中寻找它等

您可能可以使用maven-dependency-plugin 构建完成后,生成的war文件将被复制到您选择的文件夹中。

例如,假设您具有以下文件结构(可以轻松修改):

- parent folder
   |- child one (jar)
   |- child two (war)

要将两个孩子的 war文件复制到父文件夹/目标目录中,可以在两个孩子模块的pom中包含以下声明。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.5</version>
    <executions>
      <execution>
        <id>copy</id>
        <phase>install</phase>
        <goals>
          <goal>copy</goal>
        </goals>
        <configuration>
          <artifactItems>
            <artifactItem>
              <groupId>${groupId}</groupId>
              <artifactId>${artifactId}</artifactId>
              <version>${version}</version>
              <overWrite>true</overWrite>
              <outputDirectory>${basedir}/../target</outputDirectory>
              <destFileName>${artifactId}.jar</destFileName>
            </artifactItem>
          </artifactItems>
        </configuration>
      </execution>
   </executions>
</plugin>

该插件非常方便,因为您甚至可以指定一个完全不同的目标文件夹(而不是层次结构的一部分)。

与其在您的POM中反映这一点,不如在您的构建工具(例如Jenkins)中将复制作为构建后的动作来进行。

暂无
暂无

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

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