首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Genson抛出ArrayIndexOutOfBoundsException

Genson抛出ArrayIndexOutOfBoundsException
EN

Stack Overflow用户
提问于 2016-07-06 23:10:36
回答 1查看 136关注 0票数 2

Genson的内部库代码导致了一个ArrayIndexOutOfBoundsException,因为它试图索引数组,我认为数组是空的。见下文。

我得到以下堆栈跟踪:

代码语言:javascript
复制
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at com.owlike.genson.reflect.BeanPropertyFactory$StandardFactory.createMutator(BeanPropertyFactory.java:115)
        at com.owlike.genson.reflect.BeanPropertyFactory$CompositeFactory.createMutator(BeanPropertyFactory.java:87)
        at com.owlike.genson.reflect.BaseBeanDescriptorProvider.provideMethodMutators(BaseBeanDescriptorProvider.java:232)
        at com.owlike.genson.reflect.BaseBeanDescriptorProvider.provideBeanPropertyMutators(BaseBeanDescriptorProvider.java:119)
        at com.owlike.genson.reflect.AbstractBeanDescriptorProvider.provide(AbstractBeanDescriptorProvider.java:98)
        at com.owlike.genson.reflect.BeanDescriptorProvider$CompositeBeanDescriptorProvider.provide(BeanDescriptorProvider.java:60)
        at com.owlike.genson.convert.BasicConvertersFactory.provide(BasicConvertersFactory.java:104)
        at com.owlike.genson.convert.BasicConvertersFactory.create(BasicConvertersFactory.java:69)
        at com.owlike.genson.convert.BasicConvertersFactory.create(BasicConvertersFactory.java:51)
        at com.owlike.genson.reflect.AbstractBeanDescriptorProvider$ContextualFactoryDecorator.create(AbstractBeanDescriptorProvider.java:75)
        at com.owlike.genson.reflect.AbstractBeanDescriptorProvider$ContextualFactoryDecorator.create(AbstractBeanDescriptorProvider.java:64)
        at com.owlike.genson.convert.ChainedFactory.create(ChainedFactory.java:88)
        at com.owlike.genson.convert.ChainedFactory.create(ChainedFactory.java:75)
        at com.owlike.genson.convert.ChainedFactory.create(ChainedFactory.java:88)
        at com.owlike.genson.convert.ChainedFactory.create(ChainedFactory.java:75)
        at com.owlike.genson.convert.CircularClassReferenceConverterFactory.create(CircularClassReferenceConverterFactory.java:55)
        at com.owlike.genson.convert.CircularClassReferenceConverterFactory.create(CircularClassReferenceConverterFactory.java:19)
        at com.owlike.genson.Genson.provideConverter(Genson.java:148)
        at com.owlike.genson.convert.DefaultConverters$CollectionConverterFactory.create(DefaultConverters.java:239)
        at com.owlike.genson.convert.DefaultConverters$CollectionConverterFactory.create(DefaultConverters.java:231)
        at com.owlike.genson.convert.BasicConvertersFactory.provide(BasicConvertersFactory.java:97)
        at com.owlike.genson.convert.BasicConvertersFactory.create(BasicConvertersFactory.java:69)
        at com.owlike.genson.convert.BasicConvertersFactory.create(BasicConvertersFactory.java:51)
        at com.owlike.genson.reflect.AbstractBeanDescriptorProvider$ContextualFactoryDecorator.create(AbstractBeanDescriptorProvider.java:75)
        at com.owlike.genson.reflect.AbstractBeanDescriptorProvider$ContextualFactoryDecorator.create(AbstractBeanDescriptorProvider.java:64)
        at com.owlike.genson.convert.ChainedFactory.create(ChainedFactory.java:88)
        at com.owlike.genson.convert.ChainedFactory.create(ChainedFactory.java:75)
        at com.owlike.genson.convert.ChainedFactory.create(ChainedFactory.java:88)
        at com.owlike.genson.convert.ChainedFactory.create(ChainedFactory.java:75)
        at com.owlike.genson.convert.CircularClassReferenceConverterFactory.create(CircularClassReferenceConverterFactory.java:55)
        at com.owlike.genson.convert.CircularClassReferenceConverterFactory.create(CircularClassReferenceConverterFactory.java:19)
        at com.owlike.genson.Genson.provideConverter(Genson.java:148)
        at com.owlike.genson.Genson.serialize(Genson.java:272)
        at com.owlike.genson.ext.jaxrs.GensonJsonConverter.writeTo(GensonJsonConverter.java:85)

这是由Genson库中的以下方法造成的:

代码语言:javascript
复制
  public PropertyMutator createMutator(String name, Method method, Type ofType, Genson genson) {
      Type expandedType = TypeUtil.expandType(method.getGenericParameterTypes()[0], ofType);
      return new PropertyMutator.MethodMutator(name, method, expandedType,
        getRawClass(ofType));
    }

它来自方法中的以下代码:method.getGenericParameterTypes().当我调试时,它说方法是“错误”。它试图对MyObject具有以下方法的列表进行操作(只显示失败的方法):

代码语言:javascript
复制
@XmlElement(nillable=true)
    public String getError() {
        return error;
    }
    public void setError(String error) {
        this.error = error;
    }

我该怎么对付这个虫子?干吗干吗这么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-11 20:38:35

这确实是一个错误,并且已经在此承诺中修复了。修复将是第1.5版的一部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38235269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档