尽管已成功复制文件,但SMB-FS上的Gradle复制作业失败

时间:2014-08-11 11:31:37

标签: java gradle copy smb cifs

我的gradle构建中有一个复制作业,它将从本地安装的SMB / CIFS系统中获取文件。它会正确复制第一个文件,但在获取文件模式时会退出Could not copy file异常并提示原生问题。文件和目录具有当前用户的RWX。将内容复制到另一个本地文件夹时,作业按预期工作。

例外是:

Caused by: org.gradle.internal.nativeplatform.filesystem.FileException: Could not get file mode for '/mountpoint/file.zip'.
at org.gradle.internal.nativeplatform.filesystem.GenericFileSystem.getUnixMode(GenericFileSystem.java:58)
at org.gradle.api.internal.file.DefaultFileTreeElement.getMode(DefaultFileTreeElement.java:67)
at org.gradle.api.internal.file.AbstractFileTreeElement.copyTo(AbstractFileTreeElement.java:76)
... 78 more
Caused by: net.rubygrapefruit.platform.NativeException: Could not get posix file details of /mountpoint/file.zip: could not stat file (errno 75)
at net.rubygrapefruit.platform.internal.DefaultPosixFiles.stat(DefaultPosixFiles.java:32)
at net.rubygrapefruit.platform.internal.DefaultPosixFiles.getMode(DefaultPosixFiles.java:46)
at org.gradle.internal.nativeplatform.filesystem.NativePlatformBackedStat.getUnixMode(NativePlatformBackedStat.java:32)
at org.gradle.internal.nativeplatform.filesystem.GenericFileSystem.getUnixMode(GenericFileSystem.java:56)
... 80 more

问题是:有解决方法吗?还有其他方法吗?我可以在不更改构建脚本的情况下对系统做些什么(太多)? (解决方案不应该是先创建本地副本......)

System是Debian机器,带有Java 1.7.65和Gradle 2.0版本

1 个答案:

答案 0 :(得分:1)

问题似乎是众所周知的#34; - 虽然我最初没有找到这个:there is a bug report for Gradle already。我希望很快就能解决。

在我的情况下有效的解决方案只能使用好的ANT来实现:

    ant.copy(todir:"destination/directory") {
        fileset(dir: "source/directory")
        {
            include(name: "filename.zip")
        }
    }