我正在尝试使用 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>
这将创建目录的文件集(包括所有子目录(,并创建文件集的权限。