我应该将哪个版本的 Jersey 与 Glassfish 3.1 和 Java 7 一起使用?

What version of Jersey should I use with Glassfish 3.1 and Java 7?

在我将 JAX-RS 2.1/Jersey 2.26+ 库添加到我的动态 Web 项目后,我遇到了下一个错误:

Glassfish error after upload WAR file 1

服务器是 运行ning Glassfish 3.1 和 JDK 1.7.0_80

我尝试使用 Jersey 1.19.1 ZIP 包,但 Glassfish 说:

Glassfish error after upload WAR file 2

带有最新 Jersey 运行 的 WAR 文件与 Tomcat 9 和 Java 8 完美搭配,但我需要这个项目 运行 与 Glassfish 3.1 和 Java 7.

如果您能提供 link 正确版本的 Jersey,我将不胜感激!

这是我的第一个问题,如有错误请见谅。

来自 Jersey 最新 (2.26) 文档

https://jersey.github.io/documentation/latest/modules-and-dependencies.html#d0e560

Since Jersey 2.26, all modules are build using Java SE 8 and there is no support for running it on older Java SE distributions.

所以如果你真的想用jersey 2.26+,JDK应该是1.8+。别无选择。

到 运行 泽西岛 Glassfish 3 你真的需要排除所有 Jersey.2 你 war 的东西并且:

  • 使用 Glassfish 3.1.2.2 安装的捆绑 Jersey.1 实现(检查您将看到的 /lib 或 /modules 文件夹,或在线文档)

    编辑:球衣版本应为 1.11.1

      <!-- Keep 1.11.1 for Jersey which is Fish's version -->
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
            <version>1.11.1</version>
            <!-- <scope>provided</scope> ... set Provided scope for GF3 deployment -->
        </dependency>
    
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-servlet</artifactId>
            <version>1.11.1</version>
            <!-- <scope>provided</scope> ... set Provided scope for GF3 deployment -->
        </dependency>
    
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-bundle</artifactId>
            <version>1.11.1</version>
            <!-- <scope>provided</scope> ... set Provided scope for GF3 deployment -->
        </dependency>
    
      <!-- Etc. - Organize your dependencies accordingly ... -->
    
  • Glassfish3 安装的 Jersey.1 库替换为另一个 Jersey.1 implementation/libs(如果您需要更新的版本)- 但永远不要预计 Jersey.2 到 运行 与 GF3.

尽管如此,您实际上可以编写与 Jersey.1Jersey.2 一起使用的代码,但是当您开始打包和部署时,您必须使用适当的目标 JVM、依赖项和部署描述符来构建它——尽快你的模块化是 "ok"。我个人没有完整地阅读这篇 post 但为什么不看看 here.