在linux中使用ant的tar任务时,如何指定子目录的权限?



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

要压缩的目录结构如下:

JRE | +--

bin |

+-- lib
|
'——等等

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。 如何为 bin 中的所有文件创建权限为 755 的 tar 文件,jre 子目录?

我找到了解决方案! 我不知道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>

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

您可以尝试以下操作:

<chmod perm="755" type="file">
<fileset dir="${basedir}/*"/>
</chmod>

这将创建目录的文件集(包括所有子目录(,并创建文件集的权限。

相关内容

  • 没有找到相关文章

最新更新