我有:
以及所有必需的罐子。
我正在尝试运行一个简单的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)
答案 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指向错误的位置或无法访问。只需纠正它并完成工作。
感谢您阅读我的回答。希望这有帮助