【发布时间】:2013-09-10 15:23:43
【问题描述】:
我正在尝试在soapUI 中为外部jar 使用不同的位置。我通过添加以下行更新了 soapUI 批处理文件。
set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.ext.libraries="C:\Program Files\Groovy\Groovy-2.1.6\lib"
现在当我打开soapUI并尝试使用scriptom创建一个activexobject时(见下文)
import org.codehaus.groovy.scriptom.*
def tdc = new ActiveXObject ('TDApiOle80.TDConnection')
我收到以下错误,该错误看起来很奇怪,因为我知道我使用的是 groovy 2.1.6,正如您从路径中看到的那样。
org.codehaus.groovy.control.MultipleCompilationErrorsException:启动失败:无法实例化在 jar:file:/C:/Program%20Files/Groovy/Groovy-2.1.6 中指定的全局转换类 org.spockframework.compiler.SpockTransform /lib/spock-core-0.7-groovy-2.0-20120930.020057-22.jar!/META-INF/services/org.codehaus.groovy.transform.ASTTransformation 因为异常 org.spockframework.util.IncompatibleGroovyVersionException:Spock 编译器插件无法执行,因为 Spock 0.7.0-groovy-2.0 与 Groovy 1.8.0 不兼容。有关详细信息,请参阅http://versioninfo.spockframework.org Spock 位置:文件:/C:/Program%20Files/Groovy/Groovy-2.1.6/lib/spock-core-0.7-groovy-2.0-20120930.020057-22.jar Groovy 位置:文件:/C:/Program%20Files/SmartBear/soapUI-Pro-4.5.2/lib/groovy-all-1.8.0.jar 1个错误
有谁知道我为什么会收到这个错误以及我可以做些什么来解决它?
【问题讨论】:
-
SoapUI 是否也在运行 Groovy 2.1.6,还是与捆绑的 Groovy 1.8.0 一起运行?
-
我只是想到了同样的事情,soapUI 正在运行 1.8.0。我应该只找到与 1.8.0 版本兼容的 spock 并将其替换为我所拥有的吗?我不确定是否还有其他 jar 存在这样的兼容性问题。
-
确实取决于 1.8.0。
C:/Program%20Files/SmartBear/soapUI-Pro-4.5.2/lib/groovy-all-1.8.0.jar错误的最后一行。将其替换为相应的 2.1.6 jar 或降级 spock,以可行者为准。 :)