Jakarta ee 带有CDI和现有JAX-RS服务的Vaadin 12 PWA

Jakarta ee 带有CDI和现有JAX-RS服务的Vaadin 12 PWA,jakarta-ee,jax-rs,wildfly,vaadin,thorntail,Jakarta Ee,Jax Rs,Wildfly,Vaadin,Thorntail,我试图将一个vaadin12pwa前端添加到现有的JAX-rsrestful服务中,并使用@Inject将其注入到Vaadin类中,但我一直得到Nullpointer异常 现有服务有一个/json/keystore端点(参见下面的类),而vaadinui有一个as入口点/。结合Vaadin,我无法再访问以前位于/json/keystore的服务 我正在使用最新的Vaadin CDI插件(10.0.2)和Thorntail 2.3.0及其CDI插件,该插件适用于预先存在的类,但在使用Vaadin时

我试图将一个vaadin12pwa前端添加到现有的JAX-rsrestful服务中,并使用@Inject将其注入到Vaadin类中,但我一直得到Nullpointer异常

现有服务有一个
/json/keystore
端点(参见下面的类),而vaadinui有一个as入口点
/
。结合Vaadin,我无法再访问以前位于
/json/keystore
的服务

我正在使用最新的Vaadin CDI插件(10.0.2)和Thorntail 2.3.0及其CDI插件,该插件适用于预先存在的类,但在使用Vaadin时不起作用

有什么建议可以遵循吗? 如何将现有服务与Vaadin集成,但保留不同的路径

我的VaadinMainView课程如下:

package thorntail.elytron.wui;


import thorntail.elytron.core.controller.KeystoreStorageService;
import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.notification.Notification;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.component.page.BodySize;
import com.vaadin.flow.component.page.Viewport;
import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.server.PWA;
import com.vaadin.flow.theme.Theme;
import com.vaadin.flow.theme.material.Material;
import org.jboss.logging.Logger;

import javax.enterprise.inject.Instance;
import javax.inject.Inject;


@Route( value = "" )
@BodySize( width = "100vw", height = "100vh" )
@Viewport( "width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes" )
@Theme( Material.class )
@PWA( name = "Keystore Manager WUI", shortName = "kmwui" )
public class MainView extends VerticalLayout
{

  private static final Logger LOGGER = Logger.getLogger( MainView.class );

  @Inject
  private Instance<KeystoreStorageService> keystoreStorageServiceInstance;


  public MainView()
  {
    LOGGER.info( "Initializing PWA" );
    if( keystoreStorageServiceInstance.isUnsatisfied() )
    {
      LOGGER.warn( "KeystoreStorageService is null" );
    }

    final TextField nameInput = new TextField( "Name" );
    Button submitBtn = new Button( "Submit" );
    submitBtn.addClickListener( e -> Notification.show( nameInput.getValue() ) );
    add( nameInput );
    add( submitBtn );
  }
}
包thorntail.elytron.wui;
导入thorntail.elytron.core.controller.KeyStoreAgeService;
导入com.vaadin.flow.component.button.button;
导入com.vaadin.flow.component.notification.notification;
导入com.vaadin.flow.component.orderedlayout.VerticalLayout;
导入com.vaadin.flow.component.page.BodySize;
导入com.vaadin.flow.component.page.Viewport;
导入com.vaadin.flow.component.textfield.textfield;
导入com.vaadin.flow.router.Route;
导入com.vaadin.flow.server.PWA;
导入com.vaadin.flow.theme.theme;
导入com.vaadin.flow.theme.material.material;
导入org.jboss.logging.Logger;
导入javax.enterprise.inject.Instance;
导入javax.inject.inject;
@路线(值=“”)
@车身尺寸(宽=100vw,高=100vh)
@视口(“宽度=设备宽度,最小比例=1,初始比例=1,用户可缩放=是”)
@主题(材料类)
@PWA(name=“密钥库管理器WUI”,shortName=“kmwui”)
公共类主视图扩展了垂直布局
{
专用静态最终记录器=Logger.getLogger(MainView.class);
@注入
私有实例keystoreStorageServiceInstance;
公共主视图()
{
LOGGER.info(“初始化PWA”);
如果(KeyStoreAgeServiceInstance.isUnsatisfied())
{
LOGGER.warn(“KeystoreStorageService为null”);
}
最终文本字段名称输入=新文本字段(“名称”);
按钮提交TN=新按钮(“提交”);
submitBtn.addClickListener(e->Notification.show(nameInput.getValue());
添加(名称输入);
增加(提交);
}
}
我的KeystoreStorageService类,在另一个maven模块中,如下所示:

@ApplicationScoped
public class KeystoreStorageService
{

  private static final Logger LOGGER = Logger.getLogger( KeystoreStorageService.class );

  @PersistenceContext( unitName = "keystore" )
  private EntityManager em;

  **
  * @return all the {@link KeystoreModel} in the db
  */
  public List<KeystoreModel> findAll()
  {
    LOGGER.info( "Finding all Keystores" );
    return em.createNamedQuery( "Keystore.findAll", KeystoreModel.class ).getResultList();
  }

    //...other methods here
}
There was an exception while trying to navigate to '' with the exception message 'Unable to create an instance of 'thorntail.elytron.wui.MainView'. The constructor threw an exception.'

java.lang.IllegalArgumentException: Unable to create an instance of 'thorntail.elytron.wui.MainView'. The constructor threw an exception.
    at com.vaadin.flow.internal.ReflectTools.createProxyInstance(ReflectTools.java:510)
    at com.vaadin.flow.internal.ReflectTools.createInstance(ReflectTools.java:447)
    at com.vaadin.flow.di.DefaultInstantiator.getOrCreate(DefaultInstantiator.java:65)
    at com.vaadin.cdi.CdiInstantiator.lambda$getOrCreate$2(CdiInstantiator.java:77)
    at com.vaadin.cdi.BeanLookup.lookupOrElseGet(BeanLookup.java:89)
    at com.vaadin.cdi.CdiInstantiator.getOrCreate(CdiInstantiator.java:76)
    at com.vaadin.flow.di.Instantiator.createRouteTarget(Instantiator.java:158)
    at com.vaadin.cdi.CdiInstantiator$Proxy$_$$_WeldClientProxy.createRouteTarget(Unknown Source)
    at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.lambda$getRouteTarget$1(AbstractNavigationStateRenderer.java:116)
    at java.base/java.util.Optional.orElseGet(Optional.java:369)
    at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.getRouteTarget(AbstractNavigationStateRenderer.java:115)
    at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:167)
    at com.vaadin.flow.router.Router.handleNavigation(Router.java:221)
    at com.vaadin.flow.router.Router.navigate(Router.java:192)
    at com.vaadin.flow.router.Router.initializeUI(Router.java:95)
    at com.vaadin.flow.server.BootstrapHandler.createAndInitUI(BootstrapHandler.java:1117)
    at com.vaadin.flow.server.BootstrapHandler.synchronizedHandleRequest(BootstrapHandler.java:396)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1545)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:227)
    at com.vaadin.cdi.CdiVaadinServlet.service(CdiVaadinServlet.java:65)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:791)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
    at io.undertow.websockets.jsr.JsrWebSocketFilter.doFilter(JsrWebSocketFilter.java:173)
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at org.wildfly.swarm.generated.FaviconErrorHandler.handleRequest(FaviconErrorHandler.java:61)
    at io.undertow.server.handlers.PathHandler.handleRequest(PathHandler.java:94)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
    at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:360)
    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
    at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1349)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at com.vaadin.flow.internal.ReflectTools.createProxyInstance(ReflectTools.java:479)
    ... 70 more
Caused by: java.lang.NullPointerException
    at thorntail.elytron.wui.MainView.<init>(MainView.java:52)
    ... 75 more
@ApplicationScoped
公共类密钥恢复服务
{
私有静态最终记录器=Logger.getLogger(KeystoreStorageService.class);
@PersistenceContext(unitName=“keystore”)
私人实体管理者;
**
*@return数据库中的所有{@link keystemodel}
*/
公共列表findAll()
{
LOGGER.info(“查找所有密钥库”);
返回em.createNamedQuery(“Keystore.findAll”,KeystoreModel.class).getResultList();
}
//……这里还有其他方法
}
由此产生的stacktrace导航到我的PWA的主要路线,如下所示:

@ApplicationScoped
public class KeystoreStorageService
{

  private static final Logger LOGGER = Logger.getLogger( KeystoreStorageService.class );

  @PersistenceContext( unitName = "keystore" )
  private EntityManager em;

  **
  * @return all the {@link KeystoreModel} in the db
  */
  public List<KeystoreModel> findAll()
  {
    LOGGER.info( "Finding all Keystores" );
    return em.createNamedQuery( "Keystore.findAll", KeystoreModel.class ).getResultList();
  }

    //...other methods here
}
There was an exception while trying to navigate to '' with the exception message 'Unable to create an instance of 'thorntail.elytron.wui.MainView'. The constructor threw an exception.'

java.lang.IllegalArgumentException: Unable to create an instance of 'thorntail.elytron.wui.MainView'. The constructor threw an exception.
    at com.vaadin.flow.internal.ReflectTools.createProxyInstance(ReflectTools.java:510)
    at com.vaadin.flow.internal.ReflectTools.createInstance(ReflectTools.java:447)
    at com.vaadin.flow.di.DefaultInstantiator.getOrCreate(DefaultInstantiator.java:65)
    at com.vaadin.cdi.CdiInstantiator.lambda$getOrCreate$2(CdiInstantiator.java:77)
    at com.vaadin.cdi.BeanLookup.lookupOrElseGet(BeanLookup.java:89)
    at com.vaadin.cdi.CdiInstantiator.getOrCreate(CdiInstantiator.java:76)
    at com.vaadin.flow.di.Instantiator.createRouteTarget(Instantiator.java:158)
    at com.vaadin.cdi.CdiInstantiator$Proxy$_$$_WeldClientProxy.createRouteTarget(Unknown Source)
    at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.lambda$getRouteTarget$1(AbstractNavigationStateRenderer.java:116)
    at java.base/java.util.Optional.orElseGet(Optional.java:369)
    at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.getRouteTarget(AbstractNavigationStateRenderer.java:115)
    at com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:167)
    at com.vaadin.flow.router.Router.handleNavigation(Router.java:221)
    at com.vaadin.flow.router.Router.navigate(Router.java:192)
    at com.vaadin.flow.router.Router.initializeUI(Router.java:95)
    at com.vaadin.flow.server.BootstrapHandler.createAndInitUI(BootstrapHandler.java:1117)
    at com.vaadin.flow.server.BootstrapHandler.synchronizedHandleRequest(BootstrapHandler.java:396)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1545)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:227)
    at com.vaadin.cdi.CdiVaadinServlet.service(CdiVaadinServlet.java:65)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:791)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
    at io.undertow.websockets.jsr.JsrWebSocketFilter.doFilter(JsrWebSocketFilter.java:173)
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at org.wildfly.swarm.generated.FaviconErrorHandler.handleRequest(FaviconErrorHandler.java:61)
    at io.undertow.server.handlers.PathHandler.handleRequest(PathHandler.java:94)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
    at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:360)
    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
    at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1349)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at com.vaadin.flow.internal.ReflectTools.createProxyInstance(ReflectTools.java:479)
    ... 70 more
Caused by: java.lang.NullPointerException
    at thorntail.elytron.wui.MainView.<init>(MainView.java:52)
    ... 75 more
尝试导航到“”时出现异常,异常消息为“无法创建“thorntail.elytron.wui.MainView”的实例”。构造函数引发了一个异常
java.lang.IllegalArgumentException:无法创建“thorntail.elytron.wui.MainView”的实例。构造函数引发了一个异常。
位于com.vaadin.flow.internal.ReflectTools.createProxyInstance(ReflectTools.java:510)
位于com.vaadin.flow.internal.ReflectTools.createInstance(ReflectTools.java:447)
位于com.vaadin.flow.di.DefaultInstantiator.getOrCreate(DefaultInstantiator.java:65)
位于com.vaadin.cdi.cdiinstator.lambda$getOrCreate$2(cdiinstator.java:77)
位于com.vaadin.cdi.BeanLookup.lookuporelsget(BeanLookup.java:89)
位于com.vaadin.cdi.cdiinstator.getOrCreate(cdiinstator.java:76)
位于com.vaadin.flow.di.Instantiator.createRouteTarget(Instantiator.java:158)
在com.vaadin.cdi.CdiInstantiator$Proxy$\u$$\ uWeldClientProxy.createRouteTarget(未知源)
位于com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.lambda$getRouteTarget$1(AbstractNavigationStateRenderer.java:116)
位于java.base/java.util.Optional.orElseGet(Optional.java:369)
位于com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.getRouteTarget(AbstractNavigationStateRenderer.java:115)
位于com.vaadin.flow.router.internal.AbstractNavigationStateRenderer.handle(AbstractNavigationStateRenderer.java:167)
在com.vaadin.flow.router.router.handleNavigation上(router.java:221)
在com.vaadin.flow.router.router.navigate(router.java:192)上
在com.vaadin.flow.router.router.initializeUI(router.java:95)上
在com.vaadin.flow.server.BootstrapHandler.createAndInitUI(BootstrapHandler.java:1117)
位于com.vaadin.flow.server.BootstrapHandler.synchronizedHandlerRequest(BootstrapHandler.java:396)
位于com.vaadin.flow.server.SynchronizedRequestHandler.HandlerRequest(SynchronizedRequestHandler.java:40)
位于com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1545)
位于com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:227)
位于com.vaadin.cdi.CdiVaadinServlet.service(CdiVaadinServlet.java:65)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:791)
位于io.undertow.servlet.handlers.ServletHandler.HandlerRequest(ServletHandler.java:74)
位于io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
位于io.undertow.websockets.jsr.JsrWebSocketFilter.doFilter(JsrWebSocketFilter.java:173)
位于io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
位于io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
位于io.undertow.servlet.handlers.FilterHandler.HandlerRequest(FilterHandler.java:84)
位于io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.HandlerRequest(ServletSecurityRoleHandler.java:62)