Я бэкэнд-разработчик Spring Boot, который пытается облегчить себе путь к Vaadin. Я создал простой Spring Boot & Vaadin проект и загрузил его на GitHub. Из того, что я могу сказать, я, возможно, обнаружил ошибку в библиотеке Vaadin Spring Boot Starter. В этом примере GitHub я почти уверен, что я установил правильные версии правильных зависимостей для запуска и запуска простого начального приложения, однако при запуске приложения я получаю следующее:
java.lang.reflect.MalformedParameterizedTypeException: null
at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:58)
at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.<init>(ParameterizedTypeImpl.java:51)
at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:92)
at sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:105)
at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:140)
at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
at sun.reflect.generics.repository.MethodRepository.getReturnType(MethodRepository.java:68)
at java.lang.reflect.Method.getGenericReturnType(Method.java:255)
at org.springframework.core.MethodParameter.getGenericParameterType(MethodParameter.java:382)
at org.springframework.core.SerializableTypeWrapper$MethodParameterTypeProvider.getType(SerializableTypeWrapper.java:337)
at org.springframework.core.SerializableTypeWrapper.forTypeProvider(SerializableTypeWrapper.java:149)
at org.springframework.core.ResolvableType.forType(ResolvableType.java:1346)
at org.springframework.core.ResolvableType.forMethodParameter(ResolvableType.java:1249)
at org.springframework.core.ResolvableType.forMethodParameter(ResolvableType.java:1217)
at org.springframework.core.ResolvableType.forMethodReturnType(ResolvableType.java:1160)
Полная трассировка стека может быть найдена, перейдя в этот проект GitHub, клонировав его и выполнив команды для упаковки и запуска.
Здесь важно отметить, что хотя классы, специфичные для Vaadin, не отображаются в полной трассировке стека, если вы закомментируете зависимость com.vaadin:vaadin-spring-boot-starter:13.0.8
в файле сборки, а затем закомментируете код API Vaadin в классы EmployeeEditor
и MainView
(чтобы он снова компилировался), проблема исчезает и приложение запускается просто отлично!
Так что в этом Vaadin Spring Boot Starter явно есть что-то, что не нравится базовой платформе Spring Boot. Есть идеи, что это может быть?