maven - maven-assembly-plugin (3.1.0) 的 outputFileNameMapping 和排除问题
问题描述
我有一个多模块 maven 项目,其中包含两个单独的“主”项目(projectA 和 projectB),我想从中构建一个 zip 文件(包括所有依赖项)。我想排除的依赖项“subProjectC”之一。这是 assembly.xml 的相关部分:
<moduleSets>
<moduleSet>
<!-- Enable access to all projects in the current multimodule build! -->
<useAllReactorProjects>true</useAllReactorProjects>
<includes>
<include>${project.groupId}:projectA</include>
<include>${project.groupId}:projectB</include>
</includes>
<excludes>
<exclude>${project.groupId}:subProjectC</exclude>
</excludes>
<binaries>
<outputFileNameMapping>${module.artifactId}.${module.extension}</outputFileNameMapping>
<outputDirectory>project-root/lib</outputDirectory>
<unpack>false</unpack>
</binaries>
</moduleSet>
</moduleSets>
subProjectC 仍然出现在 zip 文件中。
此外,所有依赖项都会显示其完整版本,例如 projectA-0.0.1-SNAPSHOT.jar,尽管 outputFileNameMapping 应该阻止这种情况......
我究竟做错了什么?
解决方案
好的,似乎“outputFileNameMapping”只影响“包含”列表中指定的那些工件......
推荐阅读
- asp.net-mvc - 带有 AspNetCore.Authentication.OpenIdConnect 隐式流的片段 URL
- java - 在 libgdx 中部署到 web 时替换 isInstance() 方法
- netlogo - NetLogo:如何在乌龟出生后立即更换特定的标志?
- sql - 如何在我的 SQL 函数中使用 MAX ( COUNT (*))?
- c - 如何像在 python 中那样在 C 中乘以字符串?
- html - HTML 元关键字可以在单词之间包含空格吗?
- laravel - Laravel 验证 'starts_with' alpha
- javascript - 如何使用 JWT、护照身份验证 (NodeJS) 注销?
- php - 动态创建从表格中删除一行的按钮
- angular - Angular:如何测试使用“getCurrentNavigation”的组件?