Проект Java с сокетами - сбой установки Maven в Spring Tool Suite - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь создать проект Java, который использует веб-сокеты, и он не встраивается в файл .war. Он работает нормально при запуске в Spring Tool Suite, но когда я пытаюсь запустить Maven Install, он вылетает при попытке создать конечную точку сокета.

На моем локальном компьютере, работающем в Spring Tool Suite, все работает как положено, но когда я пытаюсь собрать, сборка не удается. Я заметил, что это не удалось при создании компонента ServerEndpointExporter, поэтому в качестве эксперимента я удалил аннотацию @Bean. Это действительно позволило построить проект, но тогда сокет не работает, очевидно, так что это не работает как реальное решение. Я в растерянности, что еще попробовать.

Мой файл конфигурации websocket выглядит следующим образом:

package com.foo.bar.scconfig;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;

@Configuration
public class WebSocketConfig {
    @Bean // if this annotation removed, build completes, but socket nonfunctional
    public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }
}

Насколько я могу судить, это то место, где оно ломается, но яне знаю, как исправить это таким образом, чтобы поддерживать функциональность.

Попытка сборки завершается неудачно со следующим сообщением:

2019-10-21 12:32:57.066  WARN 14851 --- [main] o.s.w.c.s.GenericWebApplicationContext   : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serverEndpointExporter' defined in class path resource [com/foo/bar/scconfig/WebSocketConfig.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: javax.websocket.server.ServerContainer not available
2019-10-21 12:32:57.081  INFO 14851 --- [main] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-10-21 12:32:57.090 ERROR 14851 --- [main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serverEndpointExporter' defined in class path resource [com/foo/bar/scconfig/WebSocketConfig.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: javax.websocket.server.ServerContainer not available

Подведем итог: Попытка построить проект Java с использованием веб-сокетовзавершается неудачей, несмотря на то, что проект работает и работает должным образом при запуске через Spring Tool Suite.

...