Исключение в потоке main java.lang.ClassNotFoundException: ошибка org.codehaus.groovy.tools.GroovyStarter при запуске простой программы GEB

У меня есть:

  • версия Java "1.6.0_37"
  • Среда выполнения Java(TM) SE (сборка 1.6.0_37-b06-434-10M3909)
  • Java HotSpot(TM) 64-разрядная виртуальная машина сервера (сборка 20.12-b01-434, смешанный режим)
  • Грааль 2.2.0
  • Крутой 2.0
  • Ядро ГЭБ 0.7.2

и все необходимые баночки.

Я пытаюсь запустить простую программу GEB:

@Grapes([
    @Grab("org.codehaus.geb:geb-core:0.7.2"),    
    @Grab("org.seleniumhq.selenium:selenium-firefox-driver:2.28.0"),
    @Grab("org.seleniumhq.selenium:selenium-support:2.15.0")
])
import geb.Browser

Browser.drive {
    go "http://googel.com/"
    assert title == "Google"
}

и когда я запускаю это, я вижу вышеупомянутое исключение:

Exception in thread "main" java.lang.ClassNotFoundException: org.codehaus.groovy.tools.GroovyStarter
    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)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)

person Dee    schedule 18.01.2013    source источник
comment
Есть ли у вас все необходимые файлы jar Groovy в зависимостях модуля ? ?   -  person CrazyCoder    schedule 22.01.2013


Ответы (3)


Это не имеет ничего общего с Geb — ваша среда настроена неправильно.

Взгляните на этот крутую ветку списка рассылки пользователей .

Другое дело, что, насколько я знаю, Geb 0.7.2 скомпилирован с Groovy 1.8.6 и я не знаю, совместим ли он с Groovy 2.0.

person erdi    schedule 20.01.2013

По сути, ваш GROOVY_HOME либо указывает на неправильное местоположение, либо недоступен. Просто исправьте это и работа сделана.

Я столкнулся с этим, когда пытался выполнить отличный скрипт как часть какой-то миграции. Проблема была проста. В моем случае он не смог увидеть путь заводной установки. Когда я использовал полный путь $GROOVY_HOME/bin/groovy <script>, это сработало.

person Sanjay Bharwani    schedule 04.08.2017
comment
Вы только что спасли мой бэкэнд, если вы понимаете, о чем я. Спасибо. У меня это было в моей заводной папке bin - person Glorious Kale; 04.02.2021

Загрузите двоичный файл Groovy с http://groovy.codehaus.org/Download.

Загрузить zip: Двоичный релиз

Извлечь локальный диск, скажем, D;\GROOVY\ groovy-2.3.9

Он содержит структуру папок D:. ├───bin ├───conf ├───embeddable ├───indy ├───lib └───META-INF

Перейдите в Панель управления\Учетные записи пользователей\Учетные записи пользователей → Изменить переменные моей среды.

Установить/новый GROOVY_HOME = D:\GROOVY\groovy-2.3.9 (не ставить точку с запятой)

Установите PATH = C:\Program Files\Java\jdk1.8.0_25\bin;%GROOVY_HOME%\bin;

Добавьте groovy-all.jar в CLASSPATH

D:\GROOVY\\groovy-2.3.9\embeddable\groovy-all-2.3.9.jar;.

Закрыть и открыть команду и сказать – groovy

Для консоли - groovyConsole

person Satya Kaveti    schedule 01.01.2015