我应该在 Glassfish 3.1 和 Java 7 中使用哪个版本的 Jersey



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

上传 WAR 文件 1 后出现玻璃鱼错误

服务器正在运行带有 JDK 1.7.0_80 的 Glassfish 3.1

我尝试使用Jersey 1.19.1 ZIP捆绑包,但随后Glassfish说:

上传 WAR 文件 2 后出现玻璃鱼错误

带有最新泽西岛的WAR文件在Tomcat 9和Java 8中运行完美,但我需要这个项目在Glassfish 3.1和Java 7上运行。

如果您能提供指向正确版本的泽西岛的链接,我将不胜感激!

这是我的第一个问题,所以请原谅任何错误。

要用Glassfish 3运行泽西岛,你真的需要从你的战争中排除所有Jersey.2事情,或者:

  • 使用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实现/库(如果您需要更新的版本( - 但永远不要指望Jersey.2与GF3一起运行。

尽管如此,您实际上可以编写适用于Jersey.1Jersey.2的代码,但是当您进行打包和部署时,您必须使用适当的目标JVM,依赖项和部署描述符来构建它 - 只要您的模块化"正常"。我没有完全以个人身份阅读这篇文章,但为什么不看看这里。

来自泽西岛最新 (2.26( 文档

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

从 Jersey 2.26 开始,所有模块都是使用 Java SE 8 构建的,并且不支持在较旧的 Java SE 发行版上运行它。

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

相关内容

  • 没有找到相关文章

最新更新