我有一个多模块项目,例如:
target/dist/artifactA.jar
sub1和sub2附加了多个程序集。假设sub1的程序集创建target/dist/artifactB.jar
和packager
如果我在sub1
中创建另一个程序集,如何从groupId:artifactId:type:classifier
等处提取artifactA和artifactB?
如果我使用此包括<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>my-distribution</id>
<formats>
<format>zip</format>
</formats>
<moduleSets>
<moduleSet>
<useAllReactorProjects>true</useAllReactorProjects>
<binaries>
<unpack>false</unpack>
<includes>
<include>com.example:sub1:jar:artifactA</include>
<include>com.example:sub1:jar:artifactB</include>
</includes>
</binaries>
</moduleSet>
</moduleSets>
,如下所示,我收到错误:“您必须至少设置一个文件”。
即使这确实有效,但这并不是我想要的。我想要sub1 / target / dist中的文件版本,它们上没有版本或artifactIds(根据sub1的程序集配置)。
<moduleset>
编辑:看起来<dependencyset>
只有在子模块位于组装模块正下方时才有效。在我的情况下推荐使用You must provide a signing key, first. Find out how to fix this.
...但我仍然存在将附加的罐子弄圆而不是主罐子的问题。