简体   繁体   English

Groovy通过Java运行时出现错误

[英]getting error when groovy run through java

used groovy and java i have groovy script used to spit, 用过groovy和Java我有用来吐唾沫的groovy脚本,

 def msgO = app.getConversation()
    msgO+=msg.getText()        
    def list = msgO.split("\\+")

getting error when running with java code : 使用Java代码运行时出现错误:

CaptureUtil captureUtil = new CaptureUtil();
            binding.setVariable("cap", captureUtil);    
            GroovyShell shell = new GroovyShell(binding);    
            boolean status = (boolean) shell.evaluate(template);

getting the error : 得到错误:

java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 0
+
^
    at java.util.regex.Pattern.error(Pattern.java:1955)
    at java.util.regex.Pattern.sequence(Pattern.java:2123)
    at java.util.regex.Pattern.expr(Pattern.java:1996)
    at java.util.regex.Pattern.compile(Pattern.java:1696)
    at java.util.regex.Pattern.<init>(Pattern.java:1351)
    at java.util.regex.Pattern.compile(Pattern.java:1028)
    at java.lang.String.split(String.java:2380)
    at java.lang.String.split(String.java:2422)
    at java_lang_String$split.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
    at Script1.run(Script1.groovy:20)
    at groovy.lang.GroovyShell.evaluate(GroovyShell.java:585)
    at groovy.lang.GroovyShell.evaluate(GroovyShell.java:623)
    at groovy.lang.GroovyShell.evaluate(GroovyShell.java:594)
    at com.ctf.sims.parseutils.CaptureUtil.parseGroovy(CaptureUtil.java:185)

when run groovy script it's running well,getting error when run through java only. 运行groovy脚本时运行良好,仅通过Java运行时出现错误。

您可以尝试使用

msgO.split(Pattern.quote('+'))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM