我正在尝试使用 ant 的 tar 任务来压缩文件。我想给jre下bin目录下的文件创建755权限。
要压缩的目录结构如下:
jre
|
+-- 垃圾箱
|
+-- 库
|
`--等等
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 文件?
最佳答案
我找到了解决办法!
我不知道 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>
当我使用上面的脚本运行 ant 时,就会得到我想要的很棒的结果。谢谢!
关于java - linux下使用ant的tar任务时如何指定子目录的权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50269850/