自 Ant 1.10.0 起.
使用 Java 的 NIO 权限支持更改文件权限。
此任务以平台无关的方式提供 chmod 和 attrib 的平台特定功能的子集。
如果未通过 mode 或 permissions 属性指定任何权限,则将从嵌套资源中删除所有权限。
该任务接受任意资源作为嵌套资源集合的一部分,但并非所有资源都支持设置权限。此任务不会对不支持设置权限的资源执行任何操作,例如 URL。
权限将应用于嵌套资源集合中包含的所有资源。如果要对两种类型的资源应用不同的权限集,则可能需要确保集合仅返回文件或目录。
属性 | 描述 | 必需 |
---|---|---|
permissions | 要设置的权限,以逗号分隔的 PosixFilePermission 值名称列表形式。 | 否 |
mode | 要设置的权限,以传统的 Unix 三位八进制数形式。 | 否 |
nonPosixMode | 如果由于文件系统不支持 POSIX 文件权限而无法更改文件的权限,该怎么办。可能的选项包括 fail(构建失败)、 pass(只记录错误)、 tryDosOrFail(至少尝试在 DOS 文件系统上设置只读标志,如果也不可能则失败)和 tryDosOrPass(至少尝试在 DOS 文件系统上设置只读标志,如果也不可能则只记录错误)。 |
否;默认为 fail |
failonerror | 如果设置权限失败,是否停止构建。 | 否;默认为 true |
资源集合 用于选择资源组。
使 start.sh 文件对任何人可读可执行,并使所有者可写。
<setpermissions mode="755"> <file file="${dist}/start.sh"/> </setpermissions>
使 start.sh 文件对任何人可读可执行,并使所有者可写。
<setpermissions permissions="OWNER_READ,OWNER_WRITE,OWNER_EXECUTE,OTHERS_READ,OTHERS_EXECUTE,GROUP_READ,GROUP_EXECUTE"> <file file="${dist}/start.sh"/> </setpermissions>