0

我有:

  • java版本“1.6.0_37”
  • Java(TM) SE 运行时环境 (build 1.6.0_37-b06-434-10M3909)
  • Java HotSpot(TM) 64 位服务器 VM(内部版本 20.12-b01-434,混合模式)
  • 圣杯 2.2.0
  • 时髦的 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)
4

3 回答 3

2

基本上,您的 GROOVY_HOME 要么指向错误的位置,要么无法访问。只需纠正它并完成工作。

当我尝试执行一个 groovy 脚本作为某些迁移活动的一部分时,我遇到了这个问题。问题很简单。就我而言,它无法看到 groovy 安装的路径。当我使用它的完整路径时,$GROOVY_HOME/bin/groovy <script> 它起作用了。

于 2017-08-04T17:38:05.863 回答
1

它与 Geb 无关——您的环境配置错误。

看看这个groovy 用户邮件列表线程

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

于 2013-01-20T19:08:50.567 回答
0

从http://groovy.codehaus.org/Download下载 Groovy 二进制文件

下载 zip:二进制版本

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

它包含文件夹结构 D:。├───bin ├───conf ├───嵌入式 ├───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

于 2015-01-01T10:39:58.730 回答