如何在一个maven多模块项目

时间:2017-03-28 08:26:19

标签: maven dependencies maven-plugin packaging multi-module

我需要针对以下问题的最佳实践解决方案。我有一个包含3个子项目的maven多模块项目:

  • client-module(打包为.jar的简单java应用程序)
  • 模块-1-该用途的客户端
  • 模块-2-该用途的客户端

module - * - that-uses-client是一堆带有client-module.jar的静态xml配置文件,它打包为.zip文件。因此,模块的打包结构 - * - that-uses-client看起来像:

  • 客户module.jar
  • config1.xml
  • config2.xml
  • config3.xml

我想知道如何实现以下构建策略。 如果我构建客户端模块,那么:

  1. 构建客户端模块
  2. 将client-module.jar复制到所有模块 - * - that-uses-client
  3. 构建所有模块 - * - that-uses-client modules。
  4. 如果我构建任何模块 - * - that-uses-client,那么:

    1. 构建客户端模块
    2. 将client-module.jar复制到确切模块 - * - that-uses-client
    3. 构建精确模块 - * - 使用客户端模块。
    4. 感谢您对此问题的任何帮助。

1 个答案:

答案 0 :(得分:0)

一种解决方案是使用--also-make--also-make-dependents

--also-make构建指定模块的所有依赖项。示例:mvn --projects module-1-that-uses-client --also-make clean install按此顺序构建client-module和module-1-that-uses-client。

--also-make-dependents构建指定的模块以及与指定模块具有依赖关系的所有其他模块。示例:mvn --projects client-module --also-make-dependents clean install构建第一个客户端模块,然后构建两个模块 - * - that-uses-client。

另请参阅Guide to Working with Multiple Modules