在最新检查期间,Gradle jar 任务失败,并显示 "Failed to capture snapshot of output files for task ' jar' 属性 'archivePath'。”

标签 gradle jar

我的 gradle 文件中有这个 jar 任务,如下所示:

jar {
    manifest {
        attributes "Main-Class": "nameSpace.myClass"
    }

    from {
        configurations.compile.collect {
            it.isDirectory() ? it : project.zipTree(it).matching {
                exclude 'META-INF/*.RSA', 'META-INF/*.SF', 'META-INF/*.DSA','build','.gradle/**','build.gradle','gradle','gradlew','gradlew.bat','test'
            }
        }
    }

}

运行 jar 任务很少会产生成功的结果。大多数时候它会给我以下错误:

* What went wrong:
Failed to capture snapshot of output files for task 'jar' property 'archivePath' during up-to-date check.
> Failed to create MD5 hash for file 'PATH/build/libs/filename.jar'.

使用 --stacktrace 和 --debug 运行任务为我提供了更多数据:

* Exception is:
13:21:45.559 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.UncheckedIOException: Failed to capture snapshot of output files for task 'jar' property 'archivePath' during up-to-date check.

再往下一点:

Caused by: java.io.FileNotFoundException: PATH/build/libs/filename.jar (Permission denied)

有人认识这个吗?我运行 OS X,而我运行 Linux 的同事从未遇到过这个问题。

jar 任务运行了相当长的时间。这部分似乎是运行时间最长的部分:

13:54:08.324 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter] Executing actions for task ':jar'.
13:54:12.992 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
13:54:12.994 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
13:54:12.994 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
13:54:12.994 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
13:54:12.995 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
13:54:12.995 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
13:54:12.996 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
13:54:22.993 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
13:54:22.994 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
13:54:22.994 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
13:54:22.995 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
13:54:22.996 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
13:54:22.996 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
13:54:22.996 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
13:54:32.297 [DEBUG] [org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter] Removed task artifact state for {} from context.

我尝试运行清理任务、删除构建文件夹、重新启动守护进程等,但没有任何帮助。

编辑: 将 Gradle 升级到 3.3 没有解决任何问题。

最佳答案

这很可能是防病毒问题。尝试禁用防病毒软件并重试。这发生在我身上。很奇怪!

关于在最新检查期间,Gradle jar 任务失败,并显示 "Failed to capture snapshot of output files for task ' jar' 属性 'archivePath'。”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41828364/

相关文章:

android - Android Studio 4.0 Gradle构建尚未完成

java - 即使在关闭 android studio 后,Gradle 仍将 java 作为进程保留

java - foo.jar 未标记为可执行文件

android - 无法导入 android.support.v4.apps.NavUtils

java - 来自 JAR 的线程 "main"java.lang.NoClassDefFoundError 中出现异常

java - 我如何知道哪个项目正在从 Maven 请求特定的 jar

java - 源代码中的剂量包名称,应与jar文件名相同

android - react native 运行 android 失败

android - 无法创建调试或签名的APK

java - gradle/intellij - 共享测试资源