我需要使用maven-assembly-plugin将一个父子项目打包成一个tar包,在尝试阶段卡在了一个很难受的地方,结果聚合不在预期内。我的最终目的是根据描述文件将所有资源打包成为一个完整的tar,因此我在父项目的pom中写了如下的插件
<build>
<plugins>
<plugin>
<!-- 插件和版本 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<!-- 描述文件,在父项目目录下 -->
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
随后在assembly.xml文件中写了如下的内容
<assembly>
<id>bin</id>
<!-- 指定结果集的格式-->
<formats>
<format>tar.gz</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<!-- 指定程序集中包含的文件集 -->
<fileSets>
<fileSet>
<directory>bin</directory>
<outputDirectory>bin</outputDirectory>
<includes>
<include>*</include>
</includes>
<fileMode>0644</fileMode>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<!-- 包含所有依赖项,到lib -->
<outputDirectory>lib</outputDirectory>
<useProjectArtifact>true</useProjectArtifact>
</dependencySet>
</dependencySets>
</assembly>
我用来测试的项目结构很简单

但是在执行编译之后,效果却差强人意,common子模块中由于有代码和pom依赖,因此它在自己的target路径下生成的tar包只有lib路径,而父项目由于有bin目录,所有内部有bin下的资源


我是哪里配置的不对吗?