Groovy 格洛维,葡萄和泰姆鲁尼特

Groovy 格洛维,葡萄和泰姆鲁尼特,groovy,htmlunit,Groovy,Htmlunit,有人能告诉我如何在Groovy(1.7.5)脚本中包含HtmlUnit以使其实际工作吗?以下是我正在做的: @Grapes([ @Grab('net.sourceforge.htmlunit:htmlunit:2.8'), @GrabExclude('xml-apis:xml-apis') ]) import com.gargoylesoftware.htmlunit.* def client = new WebClient(BrowserVersion.FIREFOX_2)

有人能告诉我如何在Groovy(1.7.5)脚本中包含HtmlUnit以使其实际工作吗?以下是我正在做的:

@Grapes([
    @Grab('net.sourceforge.htmlunit:htmlunit:2.8'),
    @GrabExclude('xml-apis:xml-apis')
])
import com.gargoylesoftware.htmlunit.*

def client = new WebClient(BrowserVersion.FIREFOX_2)
def page = client.getPage("http://www.google.pl/")
正在引发此异常:

com.gargoylesoftware.htmlunit.ObjectInstantiationException: unable to create HTML parser
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.<init>(HTMLParser.java:515)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.<init>(HTMLParser.java:440)
at com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:328)
at com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:304)
at com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:134)
at com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:101)
at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:447)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:330)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:387)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:372)
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.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at scrap.run(scrap.gsh:9)
at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:264)
at groovy.lang.GroovyShell.run(GroovyShell.java:513)
at groovy.lang.GroovyShell.run(GroovyShell.java:170)
at groovy.lang.GroovyShell$run.call(Unknown Source)
at groovy.ui.Console$_runScriptImpl_closure16.doCall(Console.groovy:890)
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.reflection.CachedMethod.invoke(CachedMethod.java:88)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:273)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)
at groovy.ui.Console$_runScriptImpl_closure16.doCall(Console.groovy)
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.reflection.CachedMethod.invoke(CachedMethod.java:88)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:273)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
at groovy.lang.Closure.call(Closure.java:276)
at groovy.lang.Closure.call(Closure.java:271)
at groovy.lang.Closure.run(Closure.java:354)
at java.lang.Thread.run(Thread.java:619)
com.gargoylesoftware.htmlunit.ObjectInstationException:无法创建HTML解析器
位于com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder。(HTMLParser.java:515)
位于com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder。(HTMLParser.java:440)
位于com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:328)
位于com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:304)
在com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:134)上
在com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:101)
在com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:447)上
在com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:330)上
在com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:387)上
在com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:372)上
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$pojocachedMethodSiteNounwrapnocerc.invoke(PojoMetaMethodSite.java:229)
位于org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
位于org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
位于org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
位于org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
在报废时运行(报废gsh:9)
位于groovy.lang.GroovyShell.RunScriptorManorteStorRunnable(GroovyShell.java:264)
运行(GroovyShell.java:513)
运行(GroovyShell.java:170)
在groovy.lang.GroovyShell$run.call处(未知源)
在groovy.ui.Console$\u runScriptImpl\u closure16.doCall(Console.groovy:890)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)
位于groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
位于org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:273)
位于groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
位于org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
位于org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)
在groovy.ui.Console$\u runScriptImpl\u closure16.doCall(Console.groovy)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)
位于groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
位于org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:273)
位于groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
调用(Closure.java:276)
调用(Closure.java:271)
运行(Closure.java:354)
运行(Thread.java:619)

提前谢谢

使用Groovy的安装程序版本时,添加到lib文件夹(从而自动添加到类路径)的文件之一是maven ant tasks。这一个包含导致问题的类


解决方案:要么从lib文件夹中删除此库,要么使用Groovy的压缩发行版,该发行版不包含此库。

我在HtmlUnit 2.4和2.6版中试用过它,但仍然是一样的。请帮忙!!!天啊!!!maven ant tasks jar包含这些类的过时版本!这场噩梦什么时候结束?