Vaadin和Spring Boot的游戏效果不佳

时间:2019-06-25 21:59:48

标签: spring-boot vaadin

我是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, EmployeeEditorMainView类中的代码(以便再次编译),问题消失了,应用程序启动正常!

因此,在Vaadin Spring Boot Starter中显然有一些核心Spring Boot框架不喜欢的东西。 有什么想法吗?

1 个答案:

答案 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'