运行简单的GEB程序时出现“线程中的异常”主“java.lang.ClassNotFoundException:org.codehaus.groovy.tools.GroovyStarter”错误

时间:2013-01-18 22:59:50

标签: grails groovy intellij-idea geb

我有:

  • java版“1.6.0_37”
  • Java(TM)SE运行时环境(版本1.6.0_37-b06-434-10M3909)
  • Java HotSpot(TM)64位服务器VM(版本20.12-b01-434,混合模式)
  • Grails 2.2.0
  • Groovy 2.0
  • GEB核心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)

3 个答案:

答案 0 :(得分:1)

在我看来,它与Geb无关,似乎您的环境可能配置错误。

看看这个groovy user mailing list thread

另一件事是,据我所知,Geb 0.7.2是使用Groovy 1.8.6编译的,我不知道它是否与Groovy 2.0兼容。

答案 1 :(得分:0)

http://groovy.codehaus.org/Download

下载Groovy二进制文件

下载zip:二进制发布

提取本地磁盘说D; \ GROOVY \ groovy-2.3.9

它包含文件夹结构D:。 ├───bin├───────────────────────────────────────────────────────────────────────────────────────────

转到“控制面板”\“用户帐户”\“用户帐户”→“更改我的环境变量”

设置/新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;。

关闭并打开命令和Say -groovy

对于console -groovyConsole

答案 2 :(得分:0)

当我尝试执行一个groovy脚本作为某些迁移活动的一部分时,我遇到了这个问题。 问题很简单。在我的情况下,它无法看到groovy安装的路径。 当我使用GROOVY_HOME / bin / groovy的完整路径时 它奏效了。

所以基本上你的GROOVY_HOME指向错误的位置或无法访问。只需纠正它并完成工作。

感谢您阅读我的回答。希望这有帮助