У меня эта проблема уже 3 дня, и она сводит меня с ума.Мой проект использует Spring MVC и Apache Tomcat.При запуске Tomcat-8.0.24 я получаю сообщение об ошибке:
Невозможно создать экземпляр ie.revenue.schemas.common.revenue_types_v1.RegistrationType из строкового значения 'DPD': значение не одно из объявленныхИмена экземпляров Enum
Однако развертываемая мной программа работает до последней страницы, где я делаю допущение к домену, который вызывает описанный выше тип регистрации.Именно здесь я получаю ошибку java.lang.NoSuchField: DPD.
Я декомпилирую поврежденную банку, и поле DPD присутствует.Указанный jar находится за рамками нашего проекта и импортируется, мы не контролируем редактирование этого файла jar.
Самое смешное, что это общий проект, и у моего коллеги нет этой проблемы локально, в то время какпроект работает нормально в нашей среде интеграции.Я не сделал никаких локальных изменений, поэтому этот проект должен работать без сбоев.
За последние несколько дней я безуспешно пытался найти все, что могу найти, связанное с этой проблемой, включая:
- Загрузил последнюю версию Apache Tomcat
- Redownloaded Eclipse
- Проверен на наличие дубликатов jar-файлов как в папке classpath, так и в папке tomcat webapps
- Удален проект и снова клонирован из git
- Очистил и обновил все файлы классов
- Удаленный проект из папки tomcat webapps перед запуском
Exception at Tomcat startup
Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException: Can not co
nstruct instance of ie.revenue.schemas.common.revenue_types_v1.RegistrationType
from String value 'DPD': value not one of declared Enum instance names: [ACT, AT
T, BET, CAND_E, CAT, CGT, CT, CUST, DIRT, DWT, ELEV, EORI, EUST, EVAT, EXCISE, I
EGEVR, IL, INTR, IT, IUT, LAET, NEW_VAT, PAYE, PREM, PSWT, RCT, RPT, RTSO, SPIA,
SSIA, STMP, TAIN, TAXC, TRT, VAT, VIES, VRT]
at [Source: java.io.StringReader@2f6c52f4; line: 1, column: 2681] (through refe
rence chain: ie.revenue.common.revqueue.model.RevQueueWrapper["theObject"]->ie.r
evenue.schemas.crs.services.registration.register.register_request.v1.RegisterRe
quest["registrationTypes"])
at com.fasterxml.jackson.databind.exc.InvalidFormatException.from(Invali
dFormatException.java:55)
at com.fasterxml.jackson.databind.DeserializationContext.weirdStringExce
ption(DeserializationContext.java:742)
at com.fasterxml.jackson.databind.deser.std.EnumDeserializer.deserialize
(EnumDeserializer.java:91)
at com.fasterxml.jackson.databind.deser.std.EnumDeserializer.deserialize
(EnumDeserializer.java:20)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deser
ialize(CollectionDeserializer.java:227)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deser
ialize(CollectionDeserializer.java:204)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deser
ialize(CollectionDeserializer.java:23)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize
(SettableBeanProperty.java:525)
at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAn
dSet(FieldProperty.java:106)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserial
ize(BeanDeserializer.java:242)
at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOth
er(BeanDeserializer.java:155)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(Bea
nDeserializer.java:126)
at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializ
er._deserializeTypedForId(AsPropertyTypeDeserializer.java:118)
at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializ
er.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:87)
-----------------------------------------------------------------------------
Exception at runtime
Caused by: java.lang.NoSuchFieldError: DPD
at ie.revenue.drivers.business.services.endpoint.impl.DriversEndPointServiceImpl.processAutoRegistration(DriversEndPointServiceImpl.java:997)
at ie.revenue.drivers.business.services.endpoint.impl.DriversEndPointServiceImpl.autoRegisterForDPD(DriversEndPointServiceImpl.java:982)
at ie.revenue.drivers.business.services.endpoint.impl.DriversEndPointServiceImpl.updateBankDetails(DriversEndPointServiceImpl.java:1091)
at ie.revenue.drivers.business.services.endpoint.impl.DriversEndPointServiceImpl.submitRegistration(DriversEndPointServiceImpl.java:171)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at ie.revenue.common.revstore.transactional.RevTransactionalAspect.revTransactionalAdvice(RevTransactionalAspect.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy93.submitRegistration(Unknown Source)
at ie.revenue.drivers.business.services.impl.RegistrationDriversServiceImpl.submitRegistration(RegistrationDriversServiceImpl.java:547)
at ie.revenue.drivers.business.services.impl.RegistrationDriversServiceImpl.submitFormDrivers(RegistrationDriversServiceImpl.java:89)
at ie.revenue.drivers.web.controller.RegistrationDriversController.submitDeclaration(RegistrationDriversController.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.expression.spel.support.ReflectiveMethodExecutor.execute(ReflectiveMethodExecutor.java:69)
at org.springframework.expression.spel.ast.MethodReference$MethodValueRef.getValue(MethodReference.java:267)
... 79 more