[Gradle]gradlew 명령을 실행할 때 버퍼링 이상 (java.lang.NoClassDefFoundError: org/apache/commons/cli/CommandLineParser)

15147 단어 AndroidStudiogradle
gradle은 최근에 2.6을 발표했기 때문에android 스튜디오의gradle을 2.6으로 바꾸고 싶습니다
명령gradlew를 사용하기 때문에gradle/wrapper/gradle-wrapper를 사용합니다.properties 파일이gradle에 대한 URL을 업데이트했습니다. 아래와 같습니다.
#Wed Sep 09 16:16:48 CST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.6-all.zip

변경된 부분은 커다란 빨간색으로 표시되어 있지만,gradle-wrapper를 업데이트하지 않았습니다.jar(어떻게 업데이트해야 할지 몰라),
내 추측은gradle-wrapper 때문이다.jar가 업데이트되지 않아gradlew명칭을 실행할 수 없습니다 (사실대로 된 어린이 신발, 알려주셔서 감사합니다)
./gradlew 명령을 실행하는 동안 다음 오류 메시지가 나타납니다.
java.lang.NoClassDefFoundError: org/apache/commons/cli/CommandLineParser
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2521)
    at java.lang.Class.getMethod0(Class.java:2764)
    at java.lang.Class.getMethod(Class.java:1653)
    at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:99)
    at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.CommandLineParser
    at org.codehaus.groovy.tools.RootLoader.findClass(RootLoader.java:156)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at org.codehaus.groovy.tools.RootLoader.loadClass(RootLoader.java:128)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 6 more

위의 추측으로 프로젝트 아래의gradlew와gradle 디렉터리를 모두 삭제했습니다.
그리고android스튜디오로 프로젝트를 엽니다(이때android스튜디오는 방금 삭제한 것을 다시 다운로드합니다). 이때gradlew 명령을 실행합니다. ok!!
너는 모든 것이 끝났다고 생각하니?no !!
이때 나는 또gradle/wrapper/gradle-wrapper를properties의gradle 관련 URL을 2.6으로 변경하고gradlew를 실행합니다. ok!
이로써,gradlew 파일이 업데이트되지 않아서 일어날 가능성이 높습니다.붓든 붓든 상술한 파일을 삭제하고 항목을 열면 다음 문제를 해결할 수 있습니다!
이유를 아는 어린이 신발, 알려주세요. 감사합니다. -> stonezhou[dot]163.com

좋은 웹페이지 즐겨찾기