Я пытаюсь сделать базовую сборку с Gradle. Даже gradle -v
терпит неудачу со следующим:Gradle не запускается, java.lang.NoClassDefFoundError: groovy/lang/GroovyObject
$ gradle -v
FAILURE: Build aborted because of an internal error.
* What went wrong:
Build aborted because of an unexpected internal error. Please file an issue at: http://www.gradle.org.
* Try:
Run with --debug option to get additional debug info.
* Exception is:
java.lang.NoClassDefFoundError: groovy/lang/GroovySystem
at org.gradle.util.GradleVersion.prettyPrint(GradleVersion.java:183)
at org.gradle.launcher.CommandLineActionFactory$ShowVersionAction.run(CommandLineActionFactory.java:181)
at org.gradle.launcher.CommandLineActionFactory$ActionAdapter.execute(CommandLineActionFactory.java:199)
at org.gradle.launcher.CommandLineActionFactory$ActionAdapter.execute(CommandLineActionFactory.java:191)
(stacktrace snipped)
at org.gradle.launcher.ProcessBootstrap.run(ProcessBootstrap.java:28)
at org.gradle.launcher.GradleMain.main(GradleMain.java:24)
Caused by: java.lang.ClassNotFoundException: groovy.lang.GroovySystem
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 17 more
Итак, я подумал: «Ага, мой путь к классам пуст Позвольте мне добавить заводной.».
$ export CLASSPATH=/usr/share/gradle/lib/groovy-all.jar && echo $CLASSPATH
/usr/share/gradle/lib/groovy-all.jar
Без разницы.
Для чего это стоит, вот build.gradle:
apply plugin: 'eclipse'
apply plugin: 'groovy'
repositories {
mavenCentral()
}
dependencies {
groovy group: 'org.codehaus.groovy', name: 'groovy', version: '1.7.10'
testCompile group: 'junit', name: 'junit', version: '4.8.2'
}
Единственное отношение StackOverflow вопрос я нашел this, и Google не намного лучше.
install doc for gradle говорит, что «Gradle поставляется со своей собственной Groovy-библиотекой, поэтому Groovy не нужно устанавливать». Это означает, что путь к классам будет лишним. Так почему я не могу запустить его?
Когда вы запускаете gradle -v -debug, вы получаете дополнительные подсказки. –
Нет @Rob, он просто префикс каждой строки, та же ошибка. Я, вероятно, просто установлю известную версию (как сказано), но это не объясняет, что на самом деле не так, это просто решение культа. – tedder42