当前位置: 首页 > 知识库问答 >
问题:

分解cucumber-jvm.jar时获取文件权限错误

易淳
2023-03-14

原因:org.gradle.api.gradleException:无法将zip条目/dev/shm/263985/transformer/caches/artifacts-14/filestore/info.cukes/cucumber-java/1.1.3/jar/4b389fbe494942b319518d27ae38571f477967f6/cucumber-java-1.1.3.jar!cucumber/api/java/ar/??.class复制到“/dev/shm/263985/transformer/target/tmp/expandedarchives/cucumber-java-1.1.3.jar_6mn6efsv2arssmg9fup79f3f m5/cucumber/api/java/ar/??.class‘。在org.gradle.api.internal.file.abstractfiletreeelement.copyTo(abstractfiletreeelement.java:68)在org.gradle.api.internal.file.archive.zipfiletree$detailsimple.getfile(zipfiletree.java:124)在org.gradle.api.internal.file.abstractfiletree$1.visitfile(abstractfiletree.java:39)在org.gradle.api.internal.file.abstractfiletree$1.visitfile(abstractfiletree.java:145)在更多

原因:java.io.ioException:无法在文件??.class上设置文件权限420。errno:84,位于org.gradle.internal.nativeplatform.filesystem.libcchmod.chmod(libcchmod.java:39),位于org.gradle.internal.nativeplatform.filesystem.genericfilesystem.chmod(genericfilesystem.java:67),位于org.gradle.api.internal.file.abstractfiletreeelement.copyto(abstractfiletreeelement.java:65)...65其他

注意:当您将Gradle1.1与JVM1.7一起使用时,这会很好地工作。

让我知道,如果你们知道为什么会这样,有没有任何修复或替代方案。提前谢谢!!

共有1个答案

凌运恒
2023-03-14

您可能遇到了我们遇到的问题。我不确定我们100%的理解它,但它似乎当解压一个存档中有只读文件时,gradle可能会遇到困难。Gradle尝试根据它已经解压缩的任何文件来检查zip,以了解解压缩任务是否是最新的,如果存档文件是只读的,则该过程可能会中断。

请注意StackTrace中的如下行:

org.gradle.api.internal.changedetection.CompositeUpToDateRule.create
Caused by: java.io.IOException: Failed to set file permissions 420 on file

不是确凿的证据,但有很强的暗示。我们的解决方案(我承认很奇怪)是使用以下代码:

def fixExpandedArchivesForLinux() {
    // This interesting hackery fixes the expandedArchives directory
    // to avoid the read-only extracted ZIP file contents issue.
    def dir = new File(buildDir, "tmp/expandedArchives")
    FilePermissions.chmodRecursively(dir, 0200)
}
 类似资料:
  • 我在AppDel中使用以下代码。这是在用户点击gpx文件或使用共享选项与我的应用程序共享文件时触发的。此时是用户指定他们允许我的应用程序访问该文件,所以我有点困惑为什么这仍然被拒绝。非常感谢任何建议。 错误打印到控制台,如下所示: Error Domain=NSCocoaErrorDomain Code=257"无法打开文件"Beech_Hill_Long_Route.gpx",因为您无权查看它。

  • 我刚刚用,它安装在 问题是,如果我试图用获取它的版本,我会收到一个权限被拒绝的错误。 <代码> 位于路径中 和没有结果,因为找不到它。 如果重新安装:

  • 6.5.4.更新Manifest文件,获取Internet权限 这个程序要正常工作,不能没有Internet的访问权限。Android的安全机制要求为可能的危险操作指明所需的权限。在用户安装应用程序时,必须明确地授予它一定的权限。对应用程序所要求的权限,用户只能全部授予,抑或全部拒绝——没有折中的余地。随后在升级已有应用时,就不再需要用户授权了。 Note: 对通过USB安装、以debug模式运行

  • 接口说明 获取用户权限 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 GET /permissions/api/team/user/v1.0.0/getUserPermissionsList 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 token string header 是 当前登录用户的TOKEN 响应字段说

  • 接口说明 获取用户权限 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 GET /permissions/api/team/user/v1.0.0/getUserPermissions 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 token string header 是 当前登录用户的TOKEN 响应字段说明 无

  • 接口说明 获取用户权限 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 如开启https功能,请求地址的协议应改为https,如:https://www.example.com/wish3dearth/api/access/v1.0.0/getLicenseInfo API地址 GET /permissions/api/team/user/v1.0.0/