Maven - 打包时如何打包所有依赖项的源

Maven - How can I package sources of all dependencies when packaging

所以我了解了如何使用 maven-assembly-plugin 的 jar-with-dependencies 描述符将依赖项打包到我的可执行 JAR 中。

但是,我还想创建一个源包,它不仅包括我的项目的源代码,还包括嵌入在我的可执行 JAR 中的所有依赖项的源代码。

如何才能做到这一点?

这是我最后使用的:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>src-dependencies</id>
            <phase>package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>
                <classifier>sources</classifier>
                <failOnMissingClassifierArtifact>false</failOnMissingClassifierArtifact>
                <outputDirectory>${project.build.directory}/sources</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

它将所有已知依赖项的源递归地复制到target/source 目录中。非常方便!

注意:使用 unpack-dependencies 目标来解压缩目标目录中的所有源。

参考:https://maven.apache.org/plugins/maven-dependency-plugin/index.html