0

我正在尝试从 2.35 升级到 Jersey 3x 以使用嵌入式 Jetty 9x,以便我可以使用 3x 中支持的异步服务器 API。当前的 maven pom.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 时,出现依赖错误。我正在尝试遵循 jersey 用户指南的模块和依赖项的第 2 章,但我无法解决正确的依赖项。

在 Jersey 3x 的 POM 中引用的正确球衣依赖项是什么?

4

1 回答 1

1

Jersey 3.x 需要jakarta.*来自Jakarta EE 9 "Big Bang"的新命名空间。

Jetty 9.x 是javax.servlet.*命名空间的 Servlet 3.1.0。

您必须使用 Jetty 11 来更改 Jakarta EE 9 命名空间。

于 2022-02-16T13:15:59.870 回答