groovy-json
库版本 3.0.19 来执行 groovy 脚本,当我的应用程序 war 文件部署在 Tomcat 中而不是部署在 Docker 或本地开发设置中时,它会失败并出现以下异常。在执行像
new groovy.json.JsonSlurper().parseText('{}')
这样的脚本时,我看到以下异常:'javax.script.ScriptException:java.lang.RuntimeException:无法加载FastStringService'
以上运行时异常来自 groovy-json 包中的这部分代码:
https://github.com/apache/groovy/blob/GROOVY_3_0_19/subprojects/groovy-json/src/main/java/org/apache/groovy /json/internal/FastStringUtils.java#L35-L59
我寻找了冲突的依赖项,我的应用程序中只有这个版本的 groovy-json 库。所讨论的特定类确实存在于我的工件中。关于这个错误有什么想法吗?
更新:
堆栈跟踪:
"Caused by: java.lang.RuntimeException: Unable to load FastStringService",
" at org.apache.groovy.json.internal.FastStringUtils.getService(FastStringUtils.java:56)",
" at org.apache.groovy.json.internal.FastStringUtils.toCharArray(FastStringUtils.java:66)",
" at org.apache.groovy.json.internal.BaseJsonParser.parse(BaseJsonParser.java:113)",
" at groovy.json.JsonSlurper.parseText(JsonSlurper.java:204)",
" at groovy.json.JsonSlurper$parseText.call(Unknown Source)",
" at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)",
" at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)",
" at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)",
" at Script449.run(Script449.groovy:2)",
" at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:317)",
" ... 155 more"```
Tomcat version: 9.0.71
build.gradle
:
sourceSets {
main {
groovy {
srcDirs = ['src/main/java', 'src/main/groovy']
}
resources {
srcDirs = ['src/main/resources']
}
}
}