Gradle包装器NoClassDefFoundError

Gradle包装器NoClassDefFoundError,gradle,android-gradle-plugin,gradlew,Gradle,Android Gradle Plugin,Gradlew,当我跑的时候。/我得到了什么 线程“main”java.lang.NoClassDefFoundError中出现异常: org/gradle/wrapper/GradleWrapperMain由以下原因引起: java.lang.ClassNotFoundException:org.gradle.wrapper.GradleWrapperMain 在java.net.URLClassLoader$1.run(URLClassLoader.java:202)处 java.security.Acce

当我跑的时候。/我得到了什么

线程“main”java.lang.NoClassDefFoundError中出现异常: org/gradle/wrapper/GradleWrapperMain由以下原因引起: java.lang.ClassNotFoundException:org.gradle.wrapper.GradleWrapperMain 在java.net.URLClassLoader$1.run(URLClassLoader.java:202)处 java.security.AccessController.doPrivileged(本机方法)位于 java.net.URLClassLoader.findClass(URLClassLoader.java:190)位于 loadClass(ClassLoader.java:306)位于 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)位于 loadClass(ClassLoader.java:247)


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

可能出了问题。解决方案:

  • 安装gradle:
    brew安装gradle
  • 重新生成包装器:
    gradle包装器

  • 我的
    .gitignore
    中有
    *.jar
    ,因此我没有在我的存储库中获得所需的所有jar。

    我在尝试从命令行构建应用程序时遇到了相同或类似的问题,但是对于“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位置”下找到此路径,请参见屏幕截图


    当我的目录中有一个“:”(没有引号,只有一个冒号)时,我遇到了这个问题

    这是在linux机器上实现的

    之前:

    “我的:目录”

    然后我把它改名为

    /Users/me/projects/project1/my_directory/
    

    错误消失了。

    同时绕过它的一种方法是:使用
    brew安装gradle
    安装gradle,然后运行
    gradle build
    而不是
    /gradlew
    运行
    /gradlew build
    ,您是否尝试过运行
    /gradlew build
    ?尝试使用Gal的技术下载gradle并运行
    gradle包装器来重新生成包装纸。也许有东西被错误地删除了。请确保您在项目目录下的
    gradle/wrapper/
    中有
    gradle wrapper.jar
    。@MohammadRafayAleem如果这样做有效,那么您可能希望通过单击“接受答案”来接受它。谢谢,这也是我的问题。如果没有你的暗示,我可能会没完没了地寻找。
    /Users/me/projects/project1/my_directory/