因此,我瞭解如何使用jar-with-dependencies描述符爲maven-assembly-plugin打包依賴項到我的可執行JAR中。Maven - 如何在打包時打包所有依賴項的源代碼
但是,我還想創建一個源代碼包,它不僅包含我的項目的源代碼,還包含嵌入在我的可執行JAR中的所有依賴項的源代碼。
如何才能實現這一目標?
因此,我瞭解如何使用jar-with-dependencies描述符爲maven-assembly-plugin打包依賴項到我的可執行JAR中。Maven - 如何在打包時打包所有依賴項的源代碼
但是,我還想創建一個源代碼包,它不僅包含我的項目的源代碼,還包含嵌入在我的可執行JAR中的所有依賴項的源代碼。
如何才能實現這一目標?
我看不到一個簡單的方法。 你必須添加依賴關係到你的依賴關係的源代碼(複製所有依賴關係,但添加分類器的源代碼),將它們解壓到一個文件夾(maven-dependency-plugin:unpack),然後使用程序集插件重新壓縮它們。
依賴項插件有一個可以幫助的源目標,但我從來沒有使用它。
這是我最後使用:所有已知的依賴
<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
二進制文件可以是具有單獨的存儲庫https://dzone.com/refcardz/getting-started-repository捆綁 –