我将对旧测试工具的依赖关系升级到最新版本。这些依赖项之一是 jersey-client,我已将其升级到 3.1.6,在撰写本文时这是最后发布的版本。
当我运行代码时,我在应用程序日志中收到以下警告:
org.glassfish.jersey.client.innate.inject.NonInjectionManager <init>
WARNING: Falling back to injection-less client.
每次进行 REST 调用时都会写入此消息,无论调用类型如何(GET、PUT、POST、DELETE 等)
显然泽西试图告诉我一些它认为重要的事情,但问题是什么或我应该做什么并不明显。我尝试在警告消息中搜索有关该问题的一些文档;一个搜索引擎只找到了 6 个匹配项(没有一个有帮助),另一个搜索引擎根本找不到任何匹配项。
除了日志中充斥着不需要的消息(我每次拨打电话都会收到一条消息)之外,我的应用程序似乎正在运行,因此没有立即出现问题。尽管如此,我仍然想知道问题是什么,因为忽略警告消息几乎总是一个坏主意。
有人知道这条消息指的是什么或如何解决它吗?
我还认为这种行为的记录很少,但泽西似乎想使用注射工厂。添加球衣的注射管理器后
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
</dependency>
作为依赖项,该消息消失了。
我不知道到底有什么优势,但也许你可以集成球衣配置,或者例如通过注入集成日志过滤器。