使用maven程序集插件解压缩tar时如何保留符号链接

时间:2013-07-18 22:21:55

标签: maven maven-2 maven-3 maven-assembly-plugin

我正在写一个maven程序集描述符,其中一个任务是下载一个tar文件,在从许多组件创建最终的tarball之前解压缩它。

我无法弄清楚如何使用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>

2 个答案:

答案 0 :(得分:5)

现在一切都变得更好了。 我看到maven依赖插件和程序集插件正确支持符号链接。使用以下版本和定义:

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

答案 1 :(得分:2)

momenet上的任何maven插件都不支持保留符号链接。我通过使用maven executor插件解决了这个问题,该插件会为我执行一个shell脚本和tar和untar工件。