所以我理解如何使用jar-with-dependencies描述符为maven-assembly-plugin将依赖项打包到我的可执行JAR中。
但是,我还想创建一个源包,它不仅包括我的项目的源,而且还包含嵌入在我的可执行JAR中的所有依赖项的源。
如何实现这一目标?
答案 0 :(得分:2)
这是我最后使用的:
<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
答案 1 :(得分:-1)
我没有看到一个简单的方法。 您必须向依赖项的源添加依赖项(复制所有依赖项,但添加分类器'sources'),将它们解压缩到一个文件夹(maven-dependency-plugin:unpack)中,然后使用程序集插件重新压缩它们。 / p>
依赖插件有一个可以帮助的源目标,但我从未使用它。