Вот копия моего 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>-->
<!--<!– Configures the main class of the application –>-->
<!--<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>-->
<!--<!–<installDirectory>.mvn</installDirectory>–>-->
<!--<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
.
Методы SocketHandler
class extends TextWebSocketHandler
и implements
abstract
.Я посмотрел ссылки, объясняющие, как это реализовать, но, похоже, без основной.Без веб-сокетов jar можно добавить в программу, и все остальные методы библиотеки будут запущены.
Я использую UndertowServletWebServerFactory
, может ли это помешать загрузке WebSocketConfigurer
?
https://www.devglan.com/spring-boot/spring-websocket-integration-example-without-stomp