暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Illegal overloaded getter method with ambiguous type

NIU技术那点事 2018-01-30
1945

错误:

Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.reflection.ReflectionException: Illegal overloaded getter method with ambiguous type for property processInstance in class class org.activiti.engine.impl.persistence.entity.ExecutionEntity. This breaks the JavaBeans specification and can cause unpredictable results.

at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:373) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:119) ~[mybatis-3.4.5.jar:3.4.5]

... 30 common frames omitted

Caused by: org.apache.ibatis.reflection.ReflectionException: Illegal overloaded getter method with ambiguous type for property processInstance in class class org.activiti.engine.impl.persistence.entity.ExecutionEntity. This breaks the JavaBeans specification and can cause unpredictable results.

at org.apache.ibatis.reflection.Reflector.resolveGetterConflicts(Reflector.java:138) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.reflection.Reflector.addGetMethods(Reflector.java:108) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.reflection.Reflector.<init>(Reflector.java:63) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.reflection.DefaultReflectorFactory.findForClass(DefaultReflectorFactory.java:44) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.reflection.MetaClass.<init>(MetaClass.java:39) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.reflection.MetaClass.forClass(MetaClass.java:43) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.builder.SqlSourceBuilder$ParameterMappingTokenHandler.buildParameterMapping(SqlSourceBuilder.java:84) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.builder.SqlSourceBuilder$ParameterMappingTokenHandler.handleToken(SqlSourceBuilder.java:67) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.parsing.GenericTokenParser.parse(GenericTokenParser.java:78) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.builder.SqlSourceBuilder.parse(SqlSourceBuilder.java:45) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.scripting.defaults.RawSqlSource.<init>(RawSqlSource.java:46) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.scripting.defaults.RawSqlSource.<init>(RawSqlSource.java:40) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.scripting.xmltags.XMLScriptBuilder.parseScriptNode(XMLScriptBuilder.java:58) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.scripting.xmltags.XMLLanguageDriver.createSqlSource(XMLLanguageDriver.java:44) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:94) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:135) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:128) ~[mybatis-3.4.5.jar:3.4.5]

at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:118) ~[mybatis-3.4.5.jar:3.4.5]

... 33 common frames omitted


解释:

属性"processInstance",这个字段不符合javaBean的命名规范导致的。

类中属性processInstance 同时存在isProcessInstance 和 getProcessInstance 方法,反射在获取getter时迷惑修改掉is方法名称或删除一个即可。

补充知识:

Java语言欠缺属性、事件、多重继承功能。所以,如果要在Java程序中实现一些面向对象编程的常见需求,只能手写大量胶水代码。Java Bean正是编写这套胶水代码的惯用模式或约定。这些约定包括getXxx、setXxx、isXxx、addXxxListener、XxxEvent等。遵守上述约定的类可以用于若干工具或库。

JavaBean规范中规定boolean的getter/setter 为isXXX/setXXX,包装类Boolean的getter/setter。 

文章转载自NIU技术那点事,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论