我是Spring Boot后端开发人员,他正试图简化他进入Vaadin的方式。我创建了一个简单的Spring Boot & Vaadin project,并将其上传到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
依赖性,然后注释掉Vaadin API, EmployeeEditor
和MainView
类中的代码(以便再次编译),问题消失了,应用程序启动正常!
因此,在Vaadin Spring Boot Starter中显然有一些核心Spring Boot框架不喜欢的东西。 有什么想法吗?
答案 0 :(得分:2)
FWIW,此问题已通过将buildscript.dependencies
更改为:
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:2.1.0.RELEASE")
}
,然后将编译依赖项更新为:
,'com.vaadin:vaadin-spring-boot-starter:13.0.8'
,'org.springframework.boot:spring-boot-starter-actuator:2.1.0.RELEASE'
,'org.springframework.boot:spring-boot-starter-data-jpa:2.1.0.RELEASE'
,'com.h2database:h2:1.4.197'