2017-06-05 5 views
0

これで、Maven-assembly-plugin用のjar-with-dependencies記述子を使用して実行可能なJARに依存性をパッケージ化する方法を理解しています。Maven - パッケージング時にすべての依存関係のソースをパッケージ化するには

しかし、自分のプロジェクトのソースだけでなく、実行可能なJARに埋め込まれているすべての依存関係のソースも含むソースバンドルを作成したいと思います。

これをどのように達成できますか?

+0

バイナリが別のリポジトリにバンドルすることができhttps://dzone.com/refcardz/getting-started-repository –

答えて

0

私は簡単な方法はありません。 依存関係のソースに依存関係を追加する必要があります(すべての依存関係を複製しますが、クラシファイアのソースを追加します)、それらをフォルダ(maven-dependency-plugin:unpack)で解凍してからアセンブリプラグインを使用して再圧縮しなければなりません。

依存関係のプラグインには役立つソースの目標がありますが、私はこれを使用しませんでした。

0

これは私が最終的に使用したものである:再帰的target/sourceディレクトリにすべての既知の依存関係の

<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> 

それをコピー源。かなり便利です!

注:宛先ディレクトリのすべてのソースをアンパックする代わりに、unpack-dependenciesゴールを使用してください。

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

関連する問題