2013-03-21 94 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版本庫中有些東西被損壞了。