首页 文章

Gradle包装器NoClassDefFoundError

提问于
浏览
9

当我跑./gradlew我得到

线程“main”中的异常java.lang.NoClassDefFoundError:org / gradle / wrapper / GradleWrapperMain引起:java.lang.ClassNotFoundException:org.gradle.wrapper.GradleWrapperMain at java.net.URLClassLoader $ 1.run(URLClassLoader.java: 202)at java.security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(URLClassLoader.java:190)at java.lang.ClassLoader.loadClass(ClassLoader.java:306)at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

我的项目使用Android Studio进行编译,但是从命令行停止编译

3 回答

  • 4

    可能有些事情变坏了 . 解决方案:

    • 安装gradle: brew install gradle

    • Regenarate包装: gradle wrapper

  • 1

    https://github.com/drone/drone/issues/256

    我的 .gitignore 中有 *.jar ,所以我没有在我的存储库中获得我需要的所有 jar .

  • 23

    尝试从命令行构建我的应用程序时,我遇到了相同或类似的问题,但是抛出了“java.lang.ClassNotFoundException:com.sun.tools.javac.util.Context”的异常,这在构建时没有发生在Android Studio中 . 我发现AS带来了它自己的JRE,我通过将'JAVA_HOME'设置为AS JRE路径来解决问题 . 在我的情况下,它变成:

    $ JAVA_HOME=/opt/android-studio/jre ./gradlew build
    

    您可以在“文件” - >“项目结构” - >“SDK位置”下找到此路径,请参见屏幕截图 .

    enter image description here

相关问题