2013-07-18 14 views
6

mavenアセンブリ記述子を書き出していますが、tarファイルをダウンロードしてから、多くのコンポーネントから最終的なtarballを作成します。mavenアセンブリプラグインを使用してtarを解凍するときにシンボリックリンクを維持する方法

mavenアセンブリプラグインを使用してtarからシンボリックリンクを保存する方法を理解できません。誰もこの問題を以前に見たことがありますか?

<assembly> 
    <id>myassembly</id> 
    <formats> 
      <format>dir</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <dependencySets> 
      <dependencySet> 
        <useProjectArtifact>false</useProjectArtifact> 
        <outputDirectory>.</outputDirectory> 
        <unpack>true</unpack> 
      </dependencySet> 
    </dependencySets> 

</assembly> 
+0

することは、残念ながらのmaven-組立・プラグインを経由しても、私はそうすることが可能であるプラグインを知っているSYMのリンクを作成する可能性はありません。 groovyプラグインやexec-maven-pluginを使って解決できるかもしれませんか? – khmarbaise

+0

ありがとう、それを試してみましょう。 – GBP

答えて

3

momenetの任意のmavenプラグインでシンボリックリンクを維持することはサポートされていません。シェルスクリプトとtarとuntarアーティファクトを私にエミュレートするmavenエグゼキュータプラグインを使ってこの問題を回避しました。

+0

まだ有効な文ですか? – user2124712

+1

@ user2124712バージョン2.10は、シンボリックリンクをサポートしています –

+0

Mavenアセンブリ> = 2.5.4もシンボリックリンクをサポートしています(確かに2.6.0) - https://issues.apache.org/jira/browse/MASSEMBLY-750 – paulcm

4

すべてがより良くなっています。 maven依存プラグインとアセンブリプラグインの両方がsymlinkを正しくサポートしています。バージョンおよび定義が使用されている次のとおりです。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <version>2.10</version> 
</plugin> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <version>2.5.4</version> 
</plugin> 
+0

maven- dependency-plugin 2.10は、そのままOSX上でZIP形式のシンボリックリンクで動作します。ありがとうございました! –

+0

maven-assembly-plugingのバージョン2.6を使用していますが、解凍時にシンボリックリンクが壊れてしまいます。私が紛失しているものはありますか? – radlan

+0

これを展開している場合は、依存プラグインのバージョンかもしれません。 –

関連する問題