2012-08-23 39 views
0

所以我有不知道maven的部署人员,不应该知道它。他们所需要的只是战争的新构建。通过我们的系统,我严重怀疑我们可以使用任何东西,例如使用插件进行自动部署,所以Tomcat插件就没有了。另外,由于我们的SCM不受支持,因此我不能简单地拥有依赖于其他项目的项目......除非在项目位于本地子目录中时才能完成此项目。最重要的是,我也没有写入组织回购的权限。这可能意味着我不能发布maven的方式,或者如果我可以的话,它会使这种毫无意义。我可以在多模块项目的基础构建一场战争吗?

我想知道的是,如果存在一个组件(模块?)构建结构,它将生成的归档文件包含在项目的基础中,这样他们就不必在混杂的多余组件中查找它,组件,配置文件等。

回答

1

您可以使用maven-dependency-plugin。生成后,生成的战争文件将被复制到您选择的文件夹中。

例如,让我们假设你有以下文件结构(它可以很容易地适应):

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

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

+0

不幸的是,由于我使用了另一个插件,它无法从基础构建。 : - / – user447607

0

与其在您的POM中反映这一点,我会在您的构建工具(例如Jenkins)中将该副本作为构建后行为来执行。

相关问题