java - Groovy 生成的类名

标签 java groovy json groovyshell

我正在使用 java + groovy 脚本。是否可以更改由 groovy 类名(Script1.groovy、Script777.groovy 等)生成的名称?在异常情况下很难找到正确的脚本:/

Caused by: org.json.JSONException: JSONObject["value14"] not found.
at org.json.JSONObject.get(JSONObject.java:498)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at org.codehaus.groovy.runtime.metaclass.MethodMetaProperty$GetMethodMetaProperty.getProperty(MethodMetaProperty.java:59)
at org.codehaus.groovy.runtime.callsite.GetEffectivePojoPropertySite.getProperty(GetEffectivePojoPropertySite.java:61)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:227)
at Script4.run(Script4.groovy:23)
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:346)
... 13 more

最佳答案

是的,可以为 groovy 脚本设置自定义名称。您应该使用 groovy.lang.GroovyClassLoader。例如:

GroovyClassLoader groovyClassLoader = new GroovyClassLoader();
Class<Script> parsedClass = groovyClassLoader.parseClass(scriptText, name);
Script script = scriptClass.newInstance();
script.run()

关于java - Groovy 生成的类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21475267/

相关文章:

java - Android Json Parse 不返回任何内容

Java 和 libgdx : How can I use this variable in two overridden methods?

Impala 的 Java 时间戳到 BigInt

arrays - 在Groovy脚本上查看SQL保存

JSON 到 Map[String,JsObject] 与 Play 2.0?

java - 如何停止鼠标点击?

mysql - 使用 grails 导入文件 CSV 时获取下一行

grails - 有没有办法在Grails中做到这一点?

php - 通过 AJAX 从 PHP 发回多个结果

json - 在 golang 中对没有结构的 JSON 数据进行最小程度的修改