【问题标题】:Gradle/Gradlew keeps failing in a React Native projectGradle/Gradlew 在 React Native 项目中不断失败
【发布时间】:2016-02-21 03:16:10
【问题描述】:

我已经使用 brew 安装了 gradle。 brew install gradle。但是,安装有问题。每次我尝试运行 gradle 时,例如只运行 $ gradle$ gradle -q tasks 或任何我得到的:

FAILURE: Build failed with an exception.

* What went wrong:
org.apache.commons.io.FileUtils.deleteQuietly(Ljava/io/File;)Z

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

使用堆栈跟踪运行会给出以下输出:

FAILURE: Build failed with an exception.

* What went wrong:
org.apache.commons.io.FileUtils.deleteQuietly(Ljava/io/File;)Z

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
java.lang.NoSuchMethodError: org.apache.commons.io.FileUtils.deleteQuietly(Ljava/io/File;)Z
    at org.gradle.internal.nativeintegration.filesystem.services.GenericFileSystem.<init>(GenericFileSystem.java:89)
    at org.gradle.internal.nativeintegration.filesystem.services.FileSystemServices.createFileSystem(FileSystemServices.java:52)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
    at org.gradle.internal.service.DefaultServiceRegistry.invoke(DefaultServiceRegistry.java:426)
    at org.gradle.internal.service.DefaultServiceRegistry.access$1200(DefaultServiceRegistry.java:61)
    at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:739)
    at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.create(DefaultServiceRegistry.java:695)
    at org.gradle.internal.service.DefaultServiceRegistry$ManagedObjectProvider.getInstance(DefaultServiceRegistry.java:537)
    at org.gradle.internal.service.DefaultServiceRegistry$SingletonService.get(DefaultServiceRegistry.java:577)
    at org.gradle.internal.service.DefaultServiceRegistry.doGet(DefaultServiceRegistry.java:393)
    at org.gradle.internal.service.DefaultServiceRegistry.get(DefaultServiceRegistry.java:374)
    at org.gradle.internal.nativeintegration.services.FileSystems.getDefault(FileSystems.java:22)
    at org.gradle.api.internal.file.IdentityFileResolver.<init>(IdentityFileResolver.java:29)
    at org.gradle.launcher.daemon.configuration.DaemonParameters.<init>(DaemonParameters.java:43)
    at org.gradle.launcher.daemon.configuration.DaemonParameters.<init>(DaemonParameters.java:52)
    at org.gradle.launcher.cli.Parameters.<init>(Parameters.java:31)
    at org.gradle.launcher.cli.BuildActionsFactory.createAction(BuildActionsFactory.java:56)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.createAction(CommandLineActionFactory.java:242)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:232)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)

$ gradle -v 是唯一有效的命令:

------------------------------------------------------------
Gradle 2.9
------------------------------------------------------------

Build time:   2015-11-17 07:02:17 UTC
Build number: none
Revision:     b463d7980c40d44c4657dc80025275b84a29e31f

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_74 (Oracle Corporation 25.74-b02)
OS:           Mac OS X 10.11.3 x86_64

谁能说明为什么会这样?我是否缺少一些依赖项?

我已尝试重新安装多次。甚至从 android 工具中安装了 gradle。

build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenLocal()
        jcenter()
    }
}

【问题讨论】:

  • 有什么理由不使用 gradle 包装器吗?这是在 Android 上构建的首选方式,无需提前安装任何特殊内容。
  • 我正在使用 react-native。它负责做所有事情。但是,当我运行 react-native run-android 时,我得到了同样的错误。这就是整个事情的开始。事实上,它确实使用了 gradlew,但是,有些东西导致它失败了。
  • 如果它在项目中使用了 gradlew,那么您可能需要卸载 brew 的版本,这样就不会发生冲突。您可能还想在标题中或在前面明确说明您正在使用 React Native。
  • 完成。删除了 gradle 的 brew 版本。还是同样的问题。
  • 嗯,看起来您可能正在获取 commons.io 依赖项的冲突版本。你能发布你的 build.gradle 吗?

标签: android gradle react-native


【解决方案1】:

显然我在Library/Java/Extensions 中有一个过时的org.apache.commons.io 版本。我只是用一个新版本替换了它,它就可以工作了。

不确定我是否需要在Library/Java/Extensions 中添加一些内容。

【讨论】:

    猜你喜欢
    • 2021-01-05
    • 2018-09-18
    • 2017-09-20
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    • 2019-01-14
    • 2021-12-25
    • 2017-12-11
    相关资源
    最近更新 更多