Maven:从不同模块创建多个Web存档

时间:2014-04-10 22:11:20

标签: maven maven-assembly-plugin

我想将大约15个Ant项目迁移到Maven。

使用Ant进行当前构建:

项目-1
project-2(需要project-3作为依赖)
项目3
project-webresources(包含所有其他项目所需的Web资源)
project-WAR(空目标项目)

(project-1,project-2,project-3包含其他Web资源)

现在,必须构建不同的WAR:

对于部署1(包含project-1和project-webresources ):
来自project-1的Java源代码被编译并复制到project-WAR / WEB-INF / classes
来自project-webresources project-1的Web资源被复制到project-WAR /

For Deployment 2(包含project-1,project-2,project-3和project-webresources ):
来自project-1,project-2,project-3的Java源代码被编译并复制到project-WAR / WEB-INF / classes
来自project-webresources,project-1,project-2 project-3的Web资源被复制到project-WAR /

我计划用Maven实现它:
项目成为模块,每个部署我创建一个项目,其中包含所需的模块和一个目标WAR工件。对于project-webresources,我使用maven叠加。

构建部署-1:

(mvn install来构建deploy-1 Web存档)

 <packaging>pom</packaging>
 <modules>
      <module>project-1</module>
      <module>project-webresources</module>
      <module>WAR-deployment-1</module>
 </modules>

WAR部署-1:

<packaging>jar</packaging>
<dependency>
  <groupId>com.groupId</groupId>
  <artifactId>project-webresources</artifactId>
  <version>1.0-SNAPSHOT</version>
  <type>war</type>
  <scope>runtime</scope>
</dependency>

<dependency>
  <groupId>com.groupId</groupId>
  <artifactId>artifact-1</artifactId>
  <version>1.0-SNAPSHOT</version>
</dependency>

对于第二个WAR,将有 Build-deployment-2 WAR-deployment-2 等项目,这些项目使用其他模块组合。

我的问题:

将所有Web资源从project-1复制到WAR-deployment-1的最佳方法是什么?如果我在project-1中使用maven-resources-plugin将资源复制到WAR-deployment-1,则目标目录将硬编码为WAR-deployment-1。如果project-1是build-deployment-2的一部分并且文件必须复制到WAR-deployment-2怎么办?我可以使用构建属性吗?或者汇编插件是解决方案吗?

0 个答案:

没有答案