Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 2 如何使用maven创建主安装文件夹_Maven 2_Maven Assembly Plugin - Fatal编程技术网

Maven 2 如何使用maven创建主安装文件夹

Maven 2 如何使用maven创建主安装文件夹,maven-2,maven-assembly-plugin,Maven 2,Maven Assembly Plugin,我试图设置maven,将所有构建工件组装到一个中央分发文件夹中。为了帮助解释,我上传了一个示例项目 这是一个简单的多模块项目,包含2个j2ee组件,每个组件都有一个war和ear子项目。如果你在顶级pom中注释掉组装插件,一切都会很好 还有一个outputFolder,这是我希望组装完成后的外观。在outputFolder中还有来自其他子项目的misc jar文件,这些子项目只构建一个jar(目前我们有大约20个这样的应用程序jar)。现在,由于所有j2ee项目都具有相同的目录结构和生成的分发格

我试图设置maven,将所有构建工件组装到一个中央分发文件夹中。为了帮助解释,我上传了一个示例项目

这是一个简单的多模块项目,包含2个j2ee组件,每个组件都有一个war和ear子项目。如果你在顶级pom中注释掉组装插件,一切都会很好

还有一个
outputFolder
,这是我希望组装完成后的外观。在
outputFolder
中还有来自其他子项目的misc jar文件,这些子项目只构建一个jar(目前我们有大约20个这样的应用程序jar)。现在,由于所有j2ee项目都具有相同的目录结构和生成的分发格式,我想创建一个通用的组装描述符,以便在所有j2ee组件中重复使用(目前大约有15个)

到目前为止,我所做的不起作用——因为它无法从任何子项目中找到二进制工件。我曾尝试在程序集描述符中使用moduleSet和dependencySet部分,但它们似乎也不起作用,我得到的结果是:
以下模式从未在这个工件包含筛选器中触发:'myCompany:j2ee\u A\u ear:ear'

或者,如果我尝试在顶级项目中放置程序集描述符,则在打包ear文件时会导致wierd依赖项错误

我曾尝试使用依赖复制插件,但这似乎造成了比它解决的更多的问题。也有人说,依赖插件是实现这一点的方法。我尝试创建只打包的项目——在我的示例中是j2ee_a和j2ee_B项目的兄弟,但似乎找不到任何模块或依赖项

因此,我正在寻找一个程序集描述符(或描述符s),它将是:
a) 可跨任意数量的j2ee子项目重用
b) 还支持单个jar文件
c) 将所有内容复制到单个文件夹

欢迎提出想法、建议和示例