我想将大约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怎么办?我可以使用构建属性吗?或者汇编插件是解决方案吗?