java - 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文件?
解决方案
我找到了解决方案!我不知道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>
当我使用上面的脚本运行蚂蚁时,得到我想要的很棒的结果。谢谢!
推荐阅读
- java - 如何摆脱 JSONException:没有成功的价值?
- python - 为什么我在 python 中收到“RuntimeWarning:ubyte_scalars 错误中遇到溢出”?
- angular - 许多过滤订阅的可观察流
- android - java.lang.OutOfMemoryError:无法在 handlerthread.start() 分配 JNI Env
- android - 如何从 Facebook 墙贴中隐藏应用程序名称
- python - 从已经重新采样的系列中获取规则
- azure - 功能 App Premium Elastic Plan wrt Scale-up 和 Scale-out 设置中的 EP1 实例成本
- angularjs - 无法让 Angular 应用程序在布局的 MVC 视图中工作
- algorithm - 在时间复杂度方面采用最佳方法从字符矩阵形成字符串的方法有多少?
- javascript - Gatsby:使用MDX时索引页“/”加载失败,其他路径加载