我应该将哪个版本的 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.1
和 Jersey.2
一起使用的代码,但是当您开始打包和部署时,您必须使用适当的目标 JVM、依赖项和部署描述符来构建它——尽快你的模块化是 "ok"。我个人没有完整地阅读这篇 post 但为什么不看看 here.
在我将 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.1
和 Jersey.2
一起使用的代码,但是当您开始打包和部署时,您必须使用适当的目标 JVM、依赖项和部署描述符来构建它——尽快你的模块化是 "ok"。我个人没有完整地阅读这篇 post 但为什么不看看 here.