2017-06-05 33 views
0

因此,我瞭解如何使用jar-with-dependencies描述符爲maven-assembly-plugin打包依賴項到我的可執行JAR中。Maven - 如何在打包時打包所有依賴項的源代碼

但是,我還想創建一個源代碼包,它不僅包含我的項目的源代碼,還包含嵌入在我的可執行JAR中的所有依賴項的源代碼。

如何才能實現這一目標?

+0

二進制文件可以是具有單獨的存儲庫https://dzone.com/refcardz/getting-started-repository捆綁 –

回答

0

我看不到一個簡單的方法。 你必須添加依賴關係到你的依賴關係的源代碼(複製所有依賴關係,但添加分類器的源代碼),將它們解壓到一個文件夾(maven-dependency-plugin:unpack),然後使用程序集插件重新壓縮它們。

依賴項插件有一個可以幫助的源目標,但我從來沒有使用它。

0

這是我最後使用:所有已知的依賴

<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

相關問題