При создании библиотеки Spring-Boot, Maven, не удается найти org / springframework / web / socket / handler / TextWebSocketHandler.class в пути к классам - PullRequest
0 голосов
/ 12 декабря 2018

Вот копия моего pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.garbageview</groupId>
    <artifactId>garbageview</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>garbageview</name>
    <description/>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.0.RELEASE</version>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-undertow</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-rest</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.1.1.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!--<plugin>-->
            <!--<groupId>org.apache.maven.plugins</groupId>-->
            <!--<artifactId>maven-jar-plugin</artifactId>-->
            <!--<version>3.1.0</version>-->
            <!--<configuration>-->
            <!--<archive>-->
            <!--<manifest>-->
            <!--<addClasspath>true</addClasspath>-->
            <!--<classpathPrefix>lib/</classpathPrefix>-->
            <!--&lt;!&ndash; Configures the main class of the application &ndash;&gt;-->
            <!--<mainClass>com.garbageview.garbageview.GarbageviewApplication</mainClass>-->
            <!--</manifest>-->
            <!--</archive>-->
            <!--</configuration>-->
            <!--</plugin>-->
            <!--<plugin>-->
            <!--<groupId>com.github.eirslett</groupId>-->
            <!--<artifactId>frontend-maven-plugin</artifactId>-->
            <!--<version>1.6</version>-->
            <!--<executions>-->
            <!--<execution>-->
            <!--<id>Install node and npm locally to the project</id>-->
            <!--<goals>-->
            <!--<goal>install-node-and-npm</goal>-->
            <!--</goals>-->
            <!--<configuration>-->
            <!--<nodeVersion>v8.0.0</nodeVersion>-->
            <!--<npmVersion>5.0.3</npmVersion>-->
            <!--</configuration>-->
            <!--</execution>-->

            <!--<execution>-->
            <!--<id>npm install</id>-->
            <!--<goals>-->
            <!--<goal>npm</goal>-->
            <!--</goals>-->
            <!--</execution>-->

            <!--<execution>-->
            <!--<id>Build frontend</id>-->
            <!--<goals>-->
            <!--<goal>npm</goal>-->
            <!--</goals>-->
            <!--<configuration>-->
            <!--<arguments>run build</arguments>-->
            <!--&lt;!&ndash;<installDirectory>.mvn</installDirectory>&ndash;&gt;-->
            <!--<workingDirectory></workingDirectory>-->
            <!--</configuration>-->
            <!--</execution>-->
            <!--</executions>-->
            <!--</plugin>-->

            <!--<plugin>-->
            <!--<artifactId>maven-resources-plugin</artifactId>-->
            <!--<version>3.0.1</version>-->
            <!--<executions>-->
            <!--<execution>-->
            <!--<id>Copy frontend production build to resources</id>-->
            <!--<phase>generate-resources</phase>-->
            <!--<goals>-->
            <!--<goal>copy-resources</goal>-->
            <!--</goals>-->
            <!--<configuration>-->
            <!--<outputDirectory>${basedir}/target/classes/static</outputDirectory>-->
            <!--<resources>-->
            <!--<resource>-->
            <!--<directory>src/main/app/build/</directory>-->
            <!--<filtering>true</filtering>-->
            <!--</resource>-->
            <!--</resources>-->
            <!--</configuration>-->
            <!--</execution>-->
            <!--</executions>-->
            <!--</plugin>-->

        </plugins>

    </build>

</project>

Я удостоверился, что веб-часть добавлена ​​в мой артефакт при сборке фляги, но всегда получаю ошибку при запуске этого вдругое приложение, которое говорит, что не может найти класс textWebSocketHandler.

enter image description here

Методы SocketHandler class extends TextWebSocketHandler и implements abstract.Я посмотрел ссылки, объясняющие, как это реализовать, но, похоже, без основной.Без веб-сокетов jar можно добавить в программу, и все остальные методы библиотеки будут запущены.

Я использую UndertowServletWebServerFactory, может ли это помешать загрузке WebSocketConfigurer?

https://www.devglan.com/spring-boot/spring-websocket-integration-example-without-stomp

...