1. 一般来说,@Grape/@Grab 包含与类路径包含有何不同?
2. 具体来说,什么可能导致以下行为差异?
我有一个要求xpp3
,我表达为:
// TestScript.groovy
@Grab(group='xpp3', module='xpp3', version='1.1.3.4.O')
import org.xmlpull.v1.XmlPullParserFactory;
println "Created: " + XmlPullParserFactory.newInstance()
运行$ groovy TestScript.groovy
失败
捕获:org.xmlpull.v1.XmlPullParserException:引起:org.xmlpull.v1.XmlPullParserException:
但是,如果我手动将 Grape 获取的 .jar 添加到我的 Groovy 类路径中:
$ groovy -cp ~/.groovy/grapes/xpp3/xpp3/jars/xpp3-1.1.3.4.O.jar \
TestScript.groovy
...然后一切正常。