Плагин Maven Jetty: тип упаковки [баночка] не поддерживается
У меня есть созданный проект с SpringBoot и тип упаковки проекта jar
а также я добавил зависимость от причала в проект, и когда я пытаюсь построить проект с mvn jetty:run
, сборка прошла успешно, но я получаю сообщение, подобное этому
[INFO] Пропуск keycloak-springboot-demo: тип упаковки [jar] не поддерживается
и ниже мой файл 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>dasniko</groupId>
<artifactId>keycloak-springboot-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>keycloak-springboot-demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<keycloak.version>3.2.0.Final</keycloak.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-spring-boot-starter</artifactId>
<version>${keycloak.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.11.v20180605</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.11.v20180605</version>
<configuration>
<ignorePackaging>true</ignorePackaging>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Как запустить проект на сервере Jetty с помощью команды jetty:run?
1 ответ
У меня была такая же проблема для 9.4.19.v20190610. Пришлось добавить:
<supportedPackagings>jar</supportedPackagings>
Попробуйте изменить версию Jetty на 9.3.27.v20190418
Эта работа для меня
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.27.v20190418</version>
<configuration>
<httpConnector>
<port>8080</port>
</httpConnector>
<scanIntervalSeconds>-1</scanIntervalSeconds>
<reload>manual</reload>
<useTestScope>true</useTestScope>
<webAppConfig>
<resourceBase>src/test/webjar-debug/META-INF/resources</resourceBase>
<resourceBase>${project.basedir}/src/main/resources/META-INF/resources</resourceBase>
</webAppConfig>
</configuration>
</plugin>
Я пробовал с версией 9.4.X, но ничего не работает
jetty-maven-plugin
развернет веб-приложения, упакованные как файлы war (веб-архив).
Ваш проект указан как <packaging>jar</packaging>
что означает, что Jetty не имеет ни малейшего понятия, как его развернуть (что такое веб-манифест? дескриптор? libs? база ресурсов? где он сканирует байт-код на наличие аннотаций и функций сервлета? и т. д.)
Ваше использование Spring-Boot, похоже, основано на автономном использовании встроенной пристани в самой Spring-Boot. С помощью jetty-maven-plugin
в этом виде настройки не подходит.