我有一个parent maven pom
和一个child pom
。我必须在parent pom
之后但在child pom
之前做一些复制目录。我怎样才能做到这一点?如何使用Maven将文件和目录复制为特定位置的后期构建或预构建?
1
A
回答
1
Maven定义了一个生命周期列表,当您告诉Maven构建您的项目时,它将按顺序执行。有关这些阶段的有序列表,请参阅Lifecycles Reference。
如果运行
mvn clean test
Maven运行所有的生命周期直至并包括test
。
假设你有一个多模块Maven项目和子模块需要复制由父模块生成的资源运行其测试之前,您可以将您的孩子模块中使用maven-resources-plugin
并将其绑定到generate-resources
阶段:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources-from-parent</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/generated-resources
</outputDirectory>
<resources>
<resource>
<directory>../generated-resources</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
generate-resources
阶段在test
阶段之前执行。所以,如果你在你父母模块的目录中运行
mvn clean test
,这一切从<parent>/generated-resources
父模块追赶之前复制到<child>/target/generated-resources
子模块运行的测试。
相关问题
- 1. 预构建和构建后事件
- 2. 使用maven成功构建后复制文件
- 3. 如何创建Maven构建配置文件来有条件地复制文件?
- 4. 复制目录 - 帖子构建事件
- 5. Opendaylight:如何使用maven构建特定项目?
- 6. 使用Angular-CLI构建来复制文件/目录
- 7. 一些文件到构建目录复制使用Qt
- 8. 如何更改maven构建目录?
- 9. 完成构建后将构建版本复制到其他目录
- 10. 使用Maven构建spring-boot项目时将文件复制到jar根
- 11. 如何使用maven构建aspectj项目?
- 12. 将exe文件复制到Qt构建目录
- 13. 如何在特定条件下停止Gradle或Maven构建
- 14. 为构建配置定制文件链接(不是构建目标)
- 15. 在maven构建之后构建“实时”目录结构的正确方法?
- 16. 不能使用不同的配置文件构建maven项目
- 17. 如何在传统ASP中为复制文件创建目标目录结构?
- 18. 如何在maven中构建特定的文件夹?
- 19. 成功构建后复制文件
- 20. 为32位和64位构建文件
- 21. Maven:如何更改Maven构建资源的目标目录
- 22. 如何使用javaee-api为SonarQube构建maven构建?
- 23. 如何使用脚本文件构建maven项目?
- 24. 按创建日期筛选目录结构,然后使用c#复制
- 25. R CMD构建 - 错误复制到构建目录失败
- 26. 建议的目录结构/ ASHX文件的位置
- 27. 使用maven配置文件来控制构建执行
- 28. 使用maven将1个项目构建为不同的项目
- 29. 为文件/目录树创建结构
- 30. maven的默认构建配置文件
您是否尝试过某些东西?或者类似的应该改进的东西?如果我们有一些我们可以开始的事情,使我们更容易,而不必从头开始。 – ndsmyter
我还没有尝试过,但发现这里有东西(http://stackoverflow.com/questions/586202/best-practices-for-copying-files-with-maven),它说可以完成复制。现在搜索如何执行构建任务之前或之后的任务。 – Jeevan