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
所以我了解了如何使用 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