Le websocket du projet après l'emballage plusieurs fois sans succès, avéré être une erreur, l'erreur se lit comme suit:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
Erreur lors du démarrage ApplicationContext. Pour afficher les conditions rapport réexécution votre application avec « debug » est activée. org.springframework.boot.SpringApplication.reportFailure (SpringApplication.java: 837) 18/03/2020 08: 20: 02192 [principal] ERREUR pringApplication - run application a échoué org.springframework.beans.factory.BeanCreationException: Erreur de création de haricot avec le nom 'serverEndpointExporter' défini dans la classe chemin ressource [com / winmine / server / config / WebSocketConfig. classe ]: appel de la méthode d' initialisation a échoué; exception imbriquée est java.lang.IllegalStateException: javax.websocket.server.ServerContainer non disponible à org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java: 1694 ) à org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java: 573 ) à org.springframework.beans.factory. support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java: 495 ) à org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0 (AbstractBeanFactory.java:317 ) à org.springframework.beans.factory.support.DefaultSingletonBeanRegistry. getSingleton (DefaultSingletonBeanRegistry.java: 222 ) à org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java: 315 ) à org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java: 199 ) à org.springframework.beans.factory. support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java: 759 ) à org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java: 867 ) à org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java: 548 ) à org.springframework.boot.SpringApplication.refresh (SpringApplication.java: 754 ) à org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java: 386 ) à org.springframework.boot.SpringApplication.run (SpringApplication.java: 307 ) à org.springframework.boot.test.context.SpringBootContextLoader.loadContext (SpringBootContextLoader.java: 127 ) à org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal (DefaultCacheAwareContextLoaderDelegate.java: 99 ) à org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext (DefaultCacheAwareContextLoaderDelegate.java: 117 ) à org.springframework.test.context.support.DefaultTestContext.getApplicationContext (DefaultTestContext.java: 108 ) à org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary (ServletTestExecutionListener.java: 190 ) à org.springframework.test.context .web.ServletTestExecutionListener.prepareTestInstance (ServletTestExecutionListener.java: 132 ) à org.springframework.test.context.TestContextManager.prepareTestInstance (TestContextManager.java: 246 ) ) à org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest (SpringJUnit4ClassRunner.java: 227 ) à org.springframework.test.context.junit4.SpringJUnit4ClassRunner $ 1.runReflectiveCall (SpringJUnit4ClassRunner.java:289 ) à org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java: 12 ) à org.springframework.test .context.junit4.SpringJUnit4ClassRunner.methodBlock (SpringJUnit4ClassRunner.java: 291 ) à org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild (SpringJUnit4ClassRunner.java: 246 à org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild ( SpringJUnit4ClassRunner.java: 97 ) à org.junit.runners.ParentRunner $ 3.run (ParentRunner.java:290 ) à org.junit.runners.ParentRunner $ 1.schedule (ParentRunner.java:71 ) à org.junit.runners.ParentRunner.runChildren (ParentRunner.java: 288 ) à org.junit.runners.ParentRunner.access $ 000 personnes (ParentRunner .java: 58 ) à org.junit.runners.ParentRunner $ 2.evaluate (ParentRunner.java:268 ) à org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate (RunBeforeTestClassCallbacks.java: 61 363 ) à org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate (RunAfterTestClassCallbacks.java: 70 ) à org.junit.runners.ParentRunner.run (ParentRunner.java: )) À org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run (SpringJUnit4ClassRunner.java: 190 ) à org.apache.maven.surefire.junit4.JUnit4Provider.execute (JUnit4Provider.java: 365 ) à org.apache.maven. surefire.junit4.JUnit4Provider.executeWithRerun (JUnit4Provider.java: 273 ) à org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet (JUnit4Provider.java: 238 à org.apache.maven.surefire.junit4.JUnit4Provider.invoke (JUnit4Provider .java: 159 ) à org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader (ForkedBooter.java: 379 ) à org.apache.maven.surefire. booter.ForkedBooter.runSuitesInProcess (ForkedBooter.java: 340 ) à org.apache.maven.surefire.booter.ForkedBooter.execute (ForkedBooter.java: 125 ) à org.apache.maven.surefire.booter.ForkedBooter.main (ForkedBooter. java: 413 ) causés par: java.lang.IllegalStateException: javax.websocket.server.ServerContainer pas disponible à org.springframework.util.Assert.state (Assert.java: 73 ) à org. springframework.web.socket.server.standard.ServerEndpointExporter.afterPropertiesSet (ServerEndpointExporter.java: 107 ) à org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java: 1753 ) à org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java: 1690 ) ... 42 plus org.springframework .test.context.TestContextManager.prepareTestInstance (TestContextManager.java: 250) 18/03/2020 08: 20: 02.195 [main] eRREUR stContextManager - exception interceptée toutpermettant TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@1725dc0f] pour préparer exemple d'essai [com.example.demo.DemoApplicationTests@497b560e] java.lang.IllegalStateException: Echec du chargement ApplicationContext à org.springframework.test.context .cache.DefaultCacheAwareContextLoaderDelegate.loadContext (DefaultCacheAwareContextLoaderDelegate.java: 125 ) à org.springframework.test.context.support.DefaultTestContext.getApplicationContext (DefaultTestContext.java: 108 ) à org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary (ServletTestExecutionListener .java: 190 ) à org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance (ServletTestExecutionListener.java: 132 ) ) à org.springframework.test.context.TestContextManager.prepareTestInstance (TestContextManager.java: 246 ) à org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest (SpringJUnit4ClassRunner.java: 227 ) à org.springframework.test.context.junit4 .SpringJUnit4ClassRunner $ 1.runReflectiveCall (SpringJUnit4ClassRunner.java:289 ) à org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java: 12 à org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock (SpringJUnit4ClassRunner. java: 291 ) à org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild (SpringJUnit4ClassRunner.java: 246 ) à org.springframework.test.context. junit4.SpringJUnit4ClassRunner.runChild (SpringJUnit4ClassRunner.java: 97 ) à org.junit.runners.ParentRunner $ 3.run (ParentRunner.java:290 ) à org.junit.runners.ParentRunner $ 1.schedule (ParentRunner.java:71 ) à org.junit.runners.ParentRunner.runChildren (ParentRunner.java: 288 ) à org.junit.runners.ParentRunner.access $000 (ParentRunner.java:58 ) à org.junit.runners.ParentRunner $ 2.evaluate (ParentRunner.java:268 ) à org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate (RunBeforeTestClassCallbacks.java: 61 ) à org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate (RunAfterTestClassCallbacks.java: 70 ) à org.junit.runners.ParentRunner.run (ParentRunner.java: 363 ) à org.springframework.test.context.junit4. SpringJUnit4ClassRunner.run (SpringJUnit4ClassRunner.java: 190 ) à org.apache.maven.surefire.junit4.JUnit4Provider.execute (JUnit4Provider.java: 365) À org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun (JUnit4Provider.java: 273 ) à org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet (JUnit4Provider.java: 238 ) à org.apache.maven.surefire .junit4.JUnit4Provider.invoke (JUnit4Provider.java: 159 ) à org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader (ForkedBooter.java: 379 ) à org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess (ForkedBooter .java: 340 ) à org.apache.maven.surefire.booter.ForkedBooter.execute (ForkedBooter.java: 125 ) à org.apache.maven.surefire.booter.ForkedBooter.main (ForkedBooter.java: 413 ) causés par: org.springframework.beans.factory.BeanCreationException: Erreur de création de haricot avec le nom « serverEndpointExporter » défini dans la classe chemin ressource [com / winmine / server / config / WebSocketConfig. class ]: appel de la méthode d'initialisation échoué, exception imbriquée est java.lang.IllegalStateException: javax.websocket.server.ServerContainer pas disponible à org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory .java: 1694 ) à org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java: 573 ) à org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java: 495 ) à org.springframework.beans.factory. support.AbstractBeanFactory.lambda $ doGetBean $ 0 (AbstractBeanFactory.java:317 ) à org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java: 222 ) à org.springframework.beans.factory.support.AbstractBeanFactory. doGetBean (AbstractBeanFactory.java: 315 ) à org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java: 199 ) ) à org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java: 759 ) à org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java: 867 ) à org.springframework.context.support.AbstractApplicationContext .REFRESH (AbstractApplicationContext.java: 548 ) à org.springframework.boot.SpringApplication.refresh (SpringApplication.java: 754 à org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java: 386 ) à org.springframework.boot.SpringApplication .run (SpringApplication.java: 307) À org.springframework.boot.test.context.SpringBootContextLoader.loadContext (SpringBootContextLoader.java: 127 ) à org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal (DefaultCacheAwareContextLoaderDelegate.java: 99 ) à org.springframework.test. context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext (DefaultCacheAwareContextLoaderDelegate.java: 117 ) ... 27 plus causé par: java.lang.IllegalStateException: javax.websocket.server.ServerContainer pas disponible à org.springframework.util.Assert.state (Assert.java : 73 ) à org.springframework.web.socket.server.standard.ServerEndpointExporter.afterPropertiesSet (ServerEndpointExporter.java: 107 ) à org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java: 1753 ) à org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java: 1690 ) . .. 42 plus Tests [ERREUR] DIFFUSER: 1, Failures: 0, erreurs: 1, Ignoré: 0, Temps écoulé: 4,199 <<< de la DÉFAUT! - en com.example.demo.DemoApplicationTests [ERREUR] getDData (com.example.demo.DemoApplicationTests) Temps écoulé:0,002 s de ERROR! java.lang.IllegalStateException: Echec du chargement ApplicationContext causés par: org.springframework.beans.factory.BeanCreationException: Erreur de création de haricot avec le nom 'serverEndpointExporter' défini dans la classe chemin ressource [com / winmine / server / config / WebSocketConfig. classe ]: appel de la méthode d' initialisation a échoué; exception imbriquée est java.lang.IllegalStateException: javax.websocket.server.ServerContainer pas disponible Causée par: java.lang.IllegalStateException: javax.websocket.server.ServerContainer non disponible [INFO] [INFO] Résultats: [INFO] [ERREUR] Erreurs: [ eRREUR] DemoApplicationTests.getDData »IllegalState Impossible de charger ApplicationContext [INFO] [ERREUR] Exécuter les tests: 1, échecs: 0, erreurs: 1, sautées: 0 [INFO] [INFO] -------------------- -------------------------------------------------- - [INFO] PANNE BUILD [INFO] ---------------------------------------- --------------------------------
Un examen plus approfondi du contenu de l'erreur, en fait, déjà évident, comme ces lignes:
Tests [ERREUR] DIFFUSER: 1, Failures: 0, erreurs: 1, Ignoré: 0, Temps écoulé: 4,199 <<< de la DÉFAUT! - en com.example.demo.DemoApplicationTests
[ERREUR] getDData (com.example.demo.DemoApplicationTests) Temps écoulé: 0,002 de <<< ERROR!
java.lang.IllegalStateException: Echec de charge ApplicationContext
causés par: org.springframework.beans.factory.BeanCreationException: Erreur de création de haricot avec le nom 'serverEndpointExporter' défini dans la ressource de chemin de classe [com / winmine / server / config / WebSocketConfig.class]: invocation de la méthode d'initialisation a échoué; exception imbriquée est java.lang.IllegalStateException: javax.websocket.server.ServerContainer pas disponible
Causée par: java.lang.IllegalStateException: javax.websocket.server.ServerContainer non disponible
Vous devez ajouter la classe de test
@SpringBootTest (webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
sur elle, le propriétaire est la suivante:
Problème solution parfaite.