首页 > 解决方案 > linux下使用ant的tar任务时如何指定子目录的权限?

问题描述

我正在尝试使用 ant 的 tar 任务压缩文件。我想为 jre 下的 bin 目录中的文件创建 755 权限。

你要压缩的目录结构如下:

杰瑞
|
+-- 垃圾箱
|
+-- 库
|
`--等

ant build.xml 文件如下所示:

<chmod file="${basedir}/jre/bin/**" perm="755"/>
<target name="dist">
    <tar destfile="${basedir}/jre.tar">
        <tarfileset dir="${basedir}/jre" />
    </tar>
</target>

但是,如果解压tar文件,bin目录下所有文件的权限都是644。如何为jre子目录bin下的所有文件创建一个755权限的tar文件?

标签: javaantpermissionstar

解决方案


我找到了解决方案!我不知道prefix财产的作用……对不起。

所以,我改变build.xml如下:

<chmod file="${basedir}/jre/bin/**" perm="755"/>
<target name="dist">
    <tar destfile="${basedir}/jre.tar" prefix="jre" >
        <tarfileset dir="${basedir}/jre" >
            <exclude name="**/bin/**" />
        </tarfileset>
        <tarfileset dir="${basedir}/jre/bin" prefix="jre/bin" filemode="755" />
    </tar>
</target>

当我使用上面的脚本运行蚂蚁时,得到我想要的很棒的结果。谢谢!


推荐阅读