2013-03-21 91 views
1

我想学习Geb并在我的Mac上创建了一个groovy脚本并试图运行它。我得到关于葡萄不能下载一些依赖的错误。我需要做一些特别的工作吗?简单的Groovy与Geb脚本

@Grab(group='org.codehaus.geb', module='geb-core', version='0.7.1') 
@Grab(group='org.seleniumhq.selenium', module='selenium-firefox-driver', version='2.31.0') 

import geb.* 
import org.openqa.selenium.firefox.FirefoxDriver 

Browser.drive(driver: new FirefoxDriver()) { 
    go "http://ebay.com/" 
    $('input#gh-ac').value("transformers") 
    $('input#gh-btn').click() 
    sleep 10000 
} 

这是我收到的错误消息。

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: 
General error during conversion: Error grabbing Grapes -- [download failed: org.apache.httpcomponents#httpclient;4.2.1!httpclient.jar, download failed: org.apache.httpcomponents#httpcore;4.2.1!httpcore.jar] 

java.lang.RuntimeException: Error grabbing Grapes -- [download failed: org.apache.httpcomponents#httpclient;4.2.1!httpclient.jar, download failed: org.apache.httpcomponents#httpcore;4.2.1!httpcore.jar] 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
    at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77) 
    at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:71) 
    at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:81) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190) 
    at groovy.grape.GrapeIvy.getDependencies(GrapeIvy.groovy:411) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:231) 
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:52) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133) 
    at groovy.grape.GrapeIvy.resolve(GrapeIvy.groovy:546) 
    at groovy.grape.GrapeIvy$resolve$0.callCurrent(Unknown Source) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:153) 
    at groovy.grape.GrapeIvy.resolve(GrapeIvy.groovy:515) 
    at groovy.grape.GrapeIvy$resolve.callCurrent(Unknown Source) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149) 
    at groovy.grape.GrapeIvy.grab(GrapeIvy.groovy:254) 
    at groovy.grape.Grape.grab(Grape.java:141) 
    at groovy.grape.GrabAnnotationTransformation.visit(GrabAnnotationTransformation.java:312) 
    at org.codehaus.groovy.transform.ASTTransformationVisitor$3.call(ASTTransformationVisitor.java:319) 
    at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:912) 
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:575) 
    at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:551) 
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:528) 
    at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:279) 
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:258) 
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:244) 
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:185) 
    at groovy.lang.GroovyShell$2.run(GroovyShell.java:206) 
    at groovy.lang.GroovyShell$2.run(GroovyShell.java:204) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at groovy.lang.GroovyShell.run(GroovyShell.java:204) 
    at groovy.lang.GroovyShell.run(GroovyShell.java:150) 
    at groovy.ui.GroovyMain.processOnce(GroovyMain.java:588) 
    at groovy.ui.GroovyMain.run(GroovyMain.java:375) 
    at groovy.ui.GroovyMain.process(GroovyMain.java:361) 
    at groovy.ui.GroovyMain.processArgs(GroovyMain.java:120) 
    at groovy.ui.GroovyMain.main(GroovyMain.java:100) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:106) 
    at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:128) 

1 error 

感谢您的任何帮助。

回答

0

在我看来,这是一个环境问题。我刚刚将代码从代码片段复制到常规控制台,并且没有任何问题。你是否支持防止Ivy连接到Maven Central的防火墙?

+0

我不得不建立一个grapeConfig.xml,现在它可以工作。 – jrock2004 2013-03-22 01:42:27

+4

那么这个grapeConfig有什么? – 2013-03-22 11:49:01

2

我有和上面一样的错误 - 下载httpclient时出现问题。

我评论下面一行在我grapeConfig.xml和问题得到解决:

<ibiblio name="local" root="file:${user.home}/.m2/repository/" m2compatible="true"/> 

有趣的是,在成功运行创业板的脚本,我可以重新启用XML的上述行和脚本仍然运行。我猜在“本地”.m2版本库中有些东西被损坏了。