Java 组合maven模块和父模块的输出
我的项目由maven模块和父模块组成。每个模块都有自己的xml资源。 我想将每个模块的输出目录更改为父模块的目录。所有资源和类文件都将转到父模块的输出目录。 我将每个子模块的outputdirectory更改为父模块的输出目录,如下所示:Java 组合maven模块和父模块的输出,java,maven,multi-module,Java,Maven,Multi Module,我的项目由maven模块和父模块组成。每个模块都有自己的xml资源。 我想将每个模块的输出目录更改为父模块的目录。所有资源和类文件都将转到父模块的输出目录。 我将每个子模块的outputdirectory更改为父模块的输出目录,如下所示: <build> <outputDirectory>../target/classes</outputDirectory> </build> ../target/classes 问题是: 当我使
<build>
<outputDirectory>../target/classes</outputDirectory>
</build>
../target/classes
问题是:
请不要这样做,这完全违反了每一条规则。 它也不起作用,因为模块是一个接一个地处理的 使用不同模块的原因是为了清楚地将它们分开。混合输出文件夹会破坏这一目标
- 将模块分开
- 创建一个单独的模块,使用maven assembly插件或maven shade插件将所有其他模块收集到单个目标jar中
Maven项目应该永远不要在项目文件夹外写东西 正如你所说,我使用了maven汇编插件,它似乎解决了我的问题。我将所有模块收集到一个目标jar中。本教程帮助了我:我的问题是我有用于父模块和子模块的资源。当我右键单击并执行子模块(作为应用程序运行)时,它看不到父模块的资源。当我将它们收集到一个罐子中时,我也收集资源,这没有问题。但我不想总是执行jar,因为它更容易右键单击并作为应用程序运行您的父项目不应该有资源。父项目是没有内容的POM项目。这可以解释你的问题。我有共同的资源,我把它们放在父模块中。我应该如何解决这个问题?将您的资源放在一个单独的模块中,让其他模块依赖它。