结合maven模块和父模块的输出

时间:2014-04-14 06:42:35

标签: java maven multi-module

我的项目由maven模块和父模块组成。每个模块都有自己的xml资源。 我想将每个模块的输出目录更改为父模块的目录。所有资源和类文件都将转到父模块的输出目录。 我将每个子模块的outputdirectory更改为父模块的输出目录,如下所示:

<build>
       <outputDirectory>../target/classes</outputDirectory>
</build>

问题:

  1. 当我使用eclipse clean清理父模块时,它不会将子模块的输出复制到父模块的输出目录,因为我无法将子模块的输出文件夹更改为父模块的输出文件夹通过eclipse项目属性。
  2. 当我进行干净安装时,它会将最后一个构建子模块的输出复制到目标目录,因为为每个子模块执行了mvn clean,它清除了以前构建模块的输出。
  3. 我想为所有模块创建一个jar,这可能吗?
  4. 如何组合父模块和子模块的所有输出?

1 个答案:

答案 0 :(得分:0)

请不要这样做,这完全违背了每条规则。 它也不会工作,因为模块是一个接一个地处理的。

使用不同模块的原因是要明确区分它们。混合输出文件夹会破坏这个目标。

  • 保持模块分开
  • 创建一个单独的模块,使用maven-assembly-plugin或maven-shade-plugin将所有其他模块收集到一个目标jar中。

而且,再一次:

Maven项目应该永远不会在他们项目的文件夹之外写作!