为了在Groovy中使用NekoHTML,应该将CLASSPATH设置为什么?

时间:2013-08-22 02:59:08

标签: groovy classpath libraries

我找到了几个在Groovy脚本中使用NekoHTML库的片段,例如。

def page = new XmlSlurper(new org.cyberneko.html.parsers.SAXParser()).parse('http://groovy.codehaus.org/')
def data = page.depthFirst().grep{ it.name() == 'A' && it.@href.toString().endsWith('.html') }.'@href'
data.each { println it }

所以我下载了Groovy,然后我下载了NekoHTML。

NekoHTML位于此处:
D:\TOOLS\nekohtml-1.9.18\

当我运行代码段时,我得到:

D:\SCRIPTS\webtesting.groovy: 4: unable to resolve class org.cyberneko.html.parsers.SAXParser
 @ line 4, column 27.
   def page = new XmlSlurper(new org.cyberneko.html.parsers.SAXParser()).parse('http://groovy.codehaus.or
g/')

我的研究告诉我,我需要在类路径中包含NekoHTML。

所以我设置了一个环境变量CLASSPATH,它等于:
CLASSPATH=D:\TOOLS\nekohtml-1.9.18\src

我打开另一个cmd窗口并运行我的测试groovy脚本。我得到与上面相同的错误。

我的CLASSPATH应该设置为使用org.cyberneko.html.parsers.SAXParser引用NekoHTML组件?

1 个答案:

答案 0 :(得分:1)

您的课程路径上需要nekohtml-1.9.18.jarxercesImpl-2.10.0.jar

或者您只需在脚本顶部添加@Grab

即可
@Grab( 'net.sourceforge.nekohtml:nekohtml:1.9.18' )

groovy webtesting.groovy会为您获取这些依赖项。当然,这取决于脚本的运行方式