当前位置: 首页 > 知识库问答 >
问题:

Groovy:调用Java API时缺少方法异常

夏侯旻
2023-03-14

我已经使用Groovy几年了,但不是在最近几个月,所以这可能只是一个新手问题。我试图解析日志文件,但当我尝试这样做时:

myFile.eachLine { line ->

        /* 2014 Jul 30 08:55:42:645 GMT -4 BW.TMSJobService-TMSJobService-1
         * User [BW-User] - Job-2584 [Process/Common/LogAuditInfo.process/WriteToLog]:   */
        /* 1234567890123456789012345678901 */
        /* 0        1         2         3  */

        LogItem logItem = new LogItem()
        // get the time stamp
        String timestamp = line.substring(0, 31)
        SimpleDateFormat sdf = new SimpleDateFormat('yyyy MMM dd HH:mm:ss:S')
        logItem.date = sdf.parse(timestamp)
    }

我得到了这个例外:

线程“main”groovy.lang.missingmethodException中的异常:方法:java.text.SimpleDateFormat.parse()的签名不适用于参数类型:(java.lang.string,ce.readscript.tmslogreader$_read_closure1_closure3)值:[2014 Jul 30 08:34:47:079 GMT-4,ce.readscript.tmslogreader$_read_closure1_closure3@14235ed5]可能的html" target="_blank">解决方案:parse(java.lang.string,)在org.codehaus.groovy.runtime.scriptByteCodeAdapter.unwrap(scriptByteCodeAdapter.java:55)在org.codehaus.groovy.runtime.callsite.pojometAclassSite.call(pojometAclassSite.java:46)在org.codehaus.groovy.callsite.callsite.defaultCall(callsiteEarray.java:45)

它总是闭包中的最后一行。如果我在“parse”后面添加代码,那么它就会弹到这段代码上。即使是“079”.tolong()调用也会出现错误。

我在堆栈溢出中看到了一些类似的错误,但没有什么能解决我的问题。

共有1个答案

寿亦
2023-03-14

它试图调用SimpleDateFormat::parse(String,Closure),但它不存在。好像哪里有错字。它在groovy 2.1.8和2.3.4下运行良好。您可以尝试使它更加groovy一点,以检查它是否有一些键入错误,而不是在您的示例中:

new File("log.log").eachLine { line ->
  def item = new LogItem()
  def timestamp = line[0..30]
  item.date = Date.parse('yyyy MMM dd HH:mm:ss:S', timestamp)
}
 类似资料:
  • 我是groovy的新手。我有这样的代码。 串味 从这个客户端映射中,我需要迭代appName和enable的值。为此,我使用了get方法。。。我对此不确定。 使用此get方法时,我遇到以下错误。因为我是groovy新手,所以我不知道这里发生了什么 棒极了。lang.MissingMethodException:没有方法com的签名。康卡斯特。csv。哈克索。SecureFirebaseRestCl

  • 我是Groovy新手,但我正在尝试编写一个简单的递归方法来将层次路径解析为对象图。以下是我尝试过的: 但我得到以下错误: 我错过了什么?

  • 我试图测试一个if条件,使用时(),然后返回(),但是当我运行我的测试用例时,它会给我丢失的方法调用,即使我已经嘲笑了实现该方法的类。 这就是我想嘲笑的如果条件 这就是我检查if条件的方式 我已经用@Mock annotation模拟了“request”,但仍然得到下面的异常。 我不确定我做错了什么。有人能帮忙吗?

  • 本文向大家介绍groovy 调用方法,包括了groovy 调用方法的使用技巧和注意事项,需要的朋友参考一下 示例 请注意,如果在某些元素上不存在该方法,则在集合中混合类型时,groovy.lang.MissingMethodException可能会引发a:            

  • 我正在Liferay控制面板服务器管理脚本控制台中测试一个快速groovy脚本。我需要尝试一下,看看是否可以使用Liferay API以编程方式添加新用户。 我是groovy的新手,可能犯了一个新手错误。我不知道为什么会出错,我一直在努力寻找解决办法。 我正在tomcat上使用Liferay 6.2 EE sp7。 我的脚本代码是 我得到的错误是: groovy.lang.缺少方法异常:没有方法的

  • 为了创建以下形式的json文件,我制作了如下的Groovy脚本,但出现了一个错误。 怎么了? 我在下一个网站。我认为我正确地编写了Groovy示例代码。https://docs.groovy-lang.org/latest/html/gapi/groovy/json/JsonBuilder.html 示例json 很棒的剧本 詹金斯错误状态 groovy.lang.MisSingProperty