如何配置 Jersey 3x 以使用嵌入式 Jetty 9x
How to configure Jersey 3x to work with embedded Jetty 9x
我正在尝试从 2.35 升级到 Jersey 3x 以使用嵌入式 Jetty 9x,这样我就可以使用 3x 中支持的异步服务器 API。当前mavenpom.xml是:
<properties>
<jersey.version>2.35</jersey.version>
<!--jersey.version>3.0.0</jersey.version-->
<jetty.version>9.4.28.v20200408</jetty.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--Test Dependencies-->
</dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>${jetty.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlets</artifactId>
<version>${jetty.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>${jersey.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>${jersey.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>${jersey.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
现在,当我将版本更改为 3.0.0 时,出现依赖项错误。我正在尝试遵循球衣用户指南的 模块和依赖关系 第 2 章,但我无法解析正确的依赖关系。
在 Jersey 3x 的 POM 中引用的正确球衣依赖项是什么?
泽西 3.x 需要来自 的新 jakarta.*
命名空间。
Jetty 9.x 是 Servlet 3.1.0,它是 javax.servlet.*
命名空间。
您必须使用 Jetty 11 来更改 Jakarta EE 9 命名空间。
我正在尝试从 2.35 升级到 Jersey 3x 以使用嵌入式 Jetty 9x,这样我就可以使用 3x 中支持的异步服务器 API。当前mavenpom.xml是:
<properties>
<jersey.version>2.35</jersey.version>
<!--jersey.version>3.0.0</jersey.version-->
<jetty.version>9.4.28.v20200408</jetty.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--Test Dependencies-->
</dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>${jetty.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlets</artifactId>
<version>${jetty.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>${jersey.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>${jersey.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>${jersey.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
现在,当我将版本更改为 3.0.0 时,出现依赖项错误。我正在尝试遵循球衣用户指南的 模块和依赖关系 第 2 章,但我无法解析正确的依赖关系。
在 Jersey 3x 的 POM 中引用的正确球衣依赖项是什么?
泽西 3.x 需要来自 jakarta.*
命名空间。
Jetty 9.x 是 Servlet 3.1.0,它是 javax.servlet.*
命名空间。
您必须使用 Jetty 11 来更改 Jakarta EE 9 命名空间。