问题标签 [jersey-3.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
425 浏览

tomcat - javax.servlet.ServletException:类 [org.glassfish.jersey.servlet.ServletContainer] 不是 Servlet

您可能会觉得这是一个重复的问题,但没有一个具有相同标题的问题能解决我的问题。我正在使用 Jersey 3.0 在 Eclipse 中创建一个 RESTful Web 服务,我使用 Tomcat 9.0 作为我的服务器。

0 投票
0 回答
707 浏览

java - 使用 Jersey 3 和 Tomcat 10 的 Hello World 问题/404

尝试使用 IntelliJ 作为 IDE 使用 Jersey 和 Tomcat 10 做一个 Hello World。不幸的是,我会得到一个 404 - 似乎 servlet 没有加载。看了几个教程,找不到原因。此外,我在 web.xml 中收到一条奇怪的错误消息...

pom.xml

web.xml(xml 文件是强制性的,我不能使用 ApplicationConfig 类)

另外,在这里我servlet-class在线收到此错误消息:'org.glassfish.jersey.servlet.ServletContainer' is not assignable to 'javax.servlet.Servlet,jakarta.servlet.Servlet' 我只发现了https://youtrack.jetbrains.com/issue/IDEA-86833问题,但似乎已解决。

控制器/端点

这应该部署 servlet 并通过具有以下 url 的 GET 请求使其可访问:http://localhost:8080/app/api/hello - 但得到一个 404 代替...

我在这里做错了什么?代码看起来不错,我在服务器日志中看不到任何内容。

感谢您的任何投入!

0 投票
1 回答
473 浏览

java - 带有资源注释的 JNDI 查找始终为 NULL

我有一个使用 Jersey3 的 Tomcat 10、Java11 的 WebApp。我在我的数据库中定义了一个 ConnectionPoolcontext.xml来处理与我的 OracleDB 的连接,现在我正试图通过@Resource注释访问我的控制器中的数据源。这应该调用 JNDI 查找。不幸的是,我总是得到一个 NPE,因为它似乎在运行时找不到资源......我做错了什么?或者正确的映射名称/查找是什么?

根据教程,当我直接在 context.xml 中定义资源时,引用链接是可选的。

感谢您的任何意见!

0 投票
1 回答
195 浏览

java - Jersey 3 - 使用 bindFactory 配置绑定

使用 Jersey 3.0.1,我正在努力让绑定工作。

我有这个带有以下工厂的绑定模块:

然后我使用嵌入式 Jetty 为我的 Servlet 设置:

在我的 Rest 服务中,我只是尝试注入一个私有实例变量:

但是,此 dslContext 始终为空。我可以从日志中看到它打印了LOG.info("Configured binder");消息。然而,在我的工厂类中放置类似的日志表明它们永远不会被调用。

有谁知道我错过了什么?

编辑

为了让事情更简单,我创建了这个类:

更改了我的活页夹模块:

然后尝试只注入 SimpleClass:

但它仍然为空,尽管我看到了两条日志消息。我必须缺少一些基本设置。

完整的 SimpleClass 示例代码在:

github.com/sodonnel/jerseyBind

0 投票
0 回答
112 浏览

java - Jersey 3.0.1 - 无法从 FormDataBodyPart 获取 MediaType

我已将我在 gradle 中的项目依赖项从 compile("org.glassfish.jersey.media:jersey-media-multipart:2.3.2") 更新为 compile("org.glassfish.jersey.media:jersey-media-multipart:3.0 .1")

我收到以下错误,试图检查代码以查看是否会指向从 FormDataBodyPart 获取 MediaType 的方向,但无法弄清楚,我应该在哪里获得 Jersey 3 中的 Mediatype?

build.gradle 依赖:

TIA

0 投票
1 回答
195 浏览

java - 使用 Jersey 测试框架测试 Jersey 3 Web 应用程序的问题

我有一个 Jersey 3 Web 应用程序(在 Tomcat10、JDK15 和 JUnit5 上运行),我想在其中对我的端点进行单元测试。

虽然,我在设置这些时遇到了麻烦。我的理解是,我需要使用 GrizzlyWebTestContainer 才能获得正确的环境设置。另外,我认为我需要以某种方式将我的 web.xml 传递给 ServletcContainer。但是我该怎么做呢?

当我运行测试时,我得到:

所以我还需要在某个地方配置一个 baseUri - 但是在哪里?不幸的是,我只找到了 Grizzly Test ContainerFactory 而不是 GrizzlyWebTestC 的示例和文档......有人可以解释一下我错过了什么吗?

非常感谢任何输入!

这是我的单元测试:

这是我的端点,我想测试:

这是我的 pom.xml 中最重要的部分

0 投票
1 回答
191 浏览

java - Jersey 3 Multipart-Feature 未找到注入源

尝试为我的 Jersey 3 Web 应用程序使用 Multipart-Feature。不幸的是,似乎没有找到注入源......

pom.xml

web.xml

端点

我一直在查看其他帖子,我认为我有正确的依赖关系,并且我还在我的 web.xml 中注册了 Multipart-Feature。我错过了什么?

感谢您的任何投入!

0 投票
0 回答
24 浏览

java - 使用 Jersey 3.0.1 在 Java 中运行简单的 RESTful Web 服务时,显示 HTTP 状态 404 错误

我正在尝试使用球衣,并试图在服务器 Apache Tomcat v9 上的 Spring Tools Suite(Java jdk11)上构建一个简单的球衣 API。这是一个 maven 项目,jersey API 版本是 3.0.1。我正在观察链接的 HTTP 状态 404:HTTP 状态 404 未找到 [HTTP 状态 404 未找到图像][2]。我已经提到了一些关于堆栈溢出的链接,它们有类似的问题,但我无法在它们之后解决我的问题。

我的资源类

网页xml

pom xml

索引jsp

显示问题的 URL 图像: 在此处输入图像描述

0 投票
1 回答
695 浏览

tomcat - 如何在 web、xml 中正确定义 log4j2 配置

尝试在我的 Jersey3 应用程序(在 tomcat 中运行)中使用 log4j2。我想通过我的 web.xml 加载配置,如下所示:

web.xml

配置文件本身,位于以下结构中:

src/main/resources/config/

在我的属性中,我定义了一个文件记录器:

log4j-dev.properties

pom.xml

我得到的只是错误级别的控制台日志(似乎加载了默认配置而不是我的)。我确定,我正确定义了配置,尽管在 web.xml 中犯了一个错误...我需要如何定义路径才能正确加载属性?

log4j 的调试日志

0 投票
1 回答
829 浏览

java - Jersey Bean 验证:无法初始化“jakarta.el.E​​xpressionFactory”

我已经使用 Jersey 实现了一个 REST 服务,并且想使用 Bean Validation。当我为 Jersey (jersey-bean-validation) 添加 bean 验证 maven 依赖项时,webapp 由于错误而在启动时中断:

我四处搜索,发现较旧的解决方案提到包括缺少依赖项,例如这个问题:

javax.validation.ValidationException:HV000183:无法加载“javax.el.E​​xpressionFactory”

但在我的情况下,依赖项已经过时了。此外,在查看依赖关系树时:

我可以在最底部看到 el-api 和 el 库已经作为 jersey-bean-validation 库的传递依赖项包含在内。

我在 ResourceBundleMessageInterpolator 中放置了一个断点以找出原因,当 ExpressionFactory 实例化时,会引发异常:

我不知道那是从哪里来的。我至少可以使用以下方法按预期创建一个 ExpressionFactory:

我创建了一个非常简单的示例项目,它使用与我在项目中使用的 maven 相同的 Jersey+Jetty 设置:https ://www.dropbox.com/s/dcvief9dlqk648m/valtest.zip?dl=0 它可以运行并且mvn jetty:run它应该在 http://localhost:8080/test 上显示一条消息。

我错过了什么?