【错误记录】Groovy 注入方法报错 ( Cannot add new method [hello] for arguments [[]]. It already exists )
文章目录
- 一、报错信息
- 二、解决方案
一、报错信息
使用 MetaClass 为类注入方法时 , 如果注入的方法与类中原有的方法有冲突 ,
class Student {def name;def hello() {println "Hello " + name}
}// 向 Student 类注入 hello 方法
Student.metaClass.hello << {println delegateprintln "Hello ${delegate.name}"
}
执行上述方法 , 会有如下报错 ;
报错信息 :
Caught: groovy.lang.GroovyRuntimeException: Cannot add new method [hello] for arguments [[]]. It already exists!
groovy.lang.GroovyRuntimeException: Cannot add new method [hello] for arguments [[]]. It already exists!at Groovy.run(Groovy.groovy:11)
二、解决方案
如果使用 Category 分类的方式注入方法 , 注入的方法可以与类中原来的方法相同 , 参考 【Groovy】MOP 元对象协议与元编程 ( 方法注入 | 使用 @Category 注解进行方法注入 | 分类注入方法查找优先级 ) 博客 ;
使用 MetaClass 的方式注入方法 , 注入的方法不可与原来的方法冲突 , 否则就会报上述错误 ; 参考 【Groovy】MOP 元对象协议与元编程 ( 方法注入 | 使用 MetaClass 进行方法注入普通方法 ) 博客 ;
【错误记录】Groovy 注入方法报错 ( Cannot add new method [hello] for arguments [[]]. It already exists )相关推荐
- Python调用seek(pos,mode)方法报错Can‘t do nonzero cur-relative seeks
在Python中IO操作调用seek(pos,mode)方法时,出现异常错误:OSError:Can't do nonzero cur-relative seeks其示例代码如下: from io i ...
- 基于adversarial-robustness-toolbox(ART)包进行AI对抗攻击ZOO攻击方法报错
基于adversarial-robustness-toolbox(ART)包进行AI对抗攻击ZOO攻击方法报错 环境 问题分析 问题解决 ZooAttack类使用扩展 环境 ART版本:1.14.0 ...
- 使用mybatisplus的insert方法报错:org.apache.ibatis.reflection.ReflectionException: Could not set property
使用mybatisplus的insert方法报错:org.apache.ibatis.reflection.ReflectionException: Could not set property 'i ...
- java 实现接口后重写方法报错
java 实现接口后重写方法报错 java 实现接口后重写方法报错 The method contextDestroyed(ServletContextEvent) of type InitListe ...
- 【错误记录】VMware 虚拟机报错 ( 向 VMWare 虚拟机中的 Ubuntu 系统拷贝文件时磁盘空间不足 ② | 删除交换空间 )
文章目录 一.报错信息 二.解决方案 一.报错信息 在 [错误记录]VMware 虚拟机报错 ( 向 VMWare 虚拟机中的 Ubuntu 系统拷贝文件时磁盘空间不足 ) 博客中 , 给出了解决方案 ...
- python3中input()方法报错traceback变量未定义的解决方法
python3中input()方法报错traceback变量未定义的解决方法 参考文章: (1)python3中input()方法报错traceback变量未定义的解决方法 (2)https://ww ...
- torchtext Filed 方法报错解决办法
torchtext Filed 方法报错解决办法 问题1 拿到的源代码是这样的 报错: AttributeError: module 'torchtext.data' has no attribute ...
- uEditor setContent方法报错Uncaught TypeError: Cannot read property ‘innerHTML‘ of undefined
uEditor setContent方法报错Uncaught TypeError: Cannot read property 'innerHTML' of undefined 报错信息 解决方法 报错 ...
- 快速解决Android studio native 方法报错
反编译一个游戏项目,发现native方法报错.如图: 项目是通过加载动态链接库so,没有jni的源码,导致native方法有红色波浪线,我们可以关闭android studio的jni支持. 点击An ...
最新文章
- 【Linux】一步一步学Linux——group文件详解(108)
- python 矩阵乘法 跳过nan_python – Numpy:当一些向量元素等于零时,矩阵向量乘法不会跳过计算吗?...
- 计数排序与桶排序python实现
- 分形与数据结构第二篇
- Python数据库操作——连接MySQL
- 【MySQL】与【Oracle】
- 天天生鲜(Django4.0版本) + 开发遇到的问题及解决
- Android机顶盒网络地址端口连通性测试
- SAR空间自回归模型
- css表格一行删除线,EXCEL电子表格一行中间画一条删除线怎么画/excel表格如何划掉数据...
- 干货分享!12款响应式的移动网站模板免费下载
- macOS 原生系统压缩文件在 Windows 上解压可能会乱码的原因及解决办法
- 阿里云RDS数据库与自建数据库做主从同步
- 程序员从初级到中级10个秘诀
- 测绘资质-导航电子地图制作
- 阿爸,通往地狱的路要走好
- bilibili DR_CAN 现代控制理论 and 非线性控制理论 and 浙大 最优控制
- 验证boost是否安装成功
- 分布式GK Summary算法
- 2.Select操作
热门文章
- asp.net mvc5 设置Area下的为启动页
- 新手学JAVA(四)----装箱与拆箱
- Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析(10)...
- Java开源——常见J2EE框架简介
- 微软发布 Mobile Express for Microsoft Dynamics CRM 4.0
- DOS下操作注册表的部分命令
- autoenv的使用方法
- 腾讯SNG的实习offer(多篇面经分享)
- 最短路之Dijkstra算法
- asp.net错误.在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错...