泽西停止使用未找到的InjectionManagerFactory [英] Jersey stopped working with InjectionManagerFactory not found

查看:1863
本文介绍了泽西停止使用未找到的InjectionManagerFactory的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 tomcat 8.5.11 中运行我的 jersey API 时收到了以下错误,导致我的API停止 - :
$ b


HTTP状态500 - Servlet.init()用于servlet Jersey REST服务抛出
异常



类型异常报告

message servlet.init()for servlet Jersey REST服务抛出异常



描述服务器遇到一个内部错误,它阻止
履行此请求。



异常



'p> javax.servlet.ServletException:Servlet.init()进行的servlet泽西REST
服务抛出异常
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
组织。 apache.catalina.conne ctor.CoyoteAdapter.service(CoyoteAdapter.java:349)
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight。 org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)
java。 lang.Thread.run(Thread.java:745)

根本原因

java.lang.IllegalStateException:未找到InjectionManagerFactory。
org.glassfish.jersey.internal.inject.Injections.lookupInjectionManagerFactory(Injections.java:97)
org.glassfish.jersey.internal.inject.Injections.createInjectionManager(Injections.java:89)
org.glassfish.jersey.server.ApplicationHandler。(ApplicationHandler.java:282)
org.glassfish.jersey.servlet.WebComponent。(WebComponent.java:335)
org.glassfish.jersey。 servlet.ServletContainer.init(ServletContainer.java:178)
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:370)
javax.servlet.GenericServlet.init(GenericServlet.java: 158)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
org.apache.coyo te.http11.Http11Processor.service(Http11Processor.java:783)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
org.apache.coyote.AbstractProtocol $ ConnectionHandler.process( AbstractProtocol.java:798)
org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1434)
org.apache.tomcat.util.net.SocketProcessorBase.run( SocketProcessorBase.java:49)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
$ java.util.concurrent.ThreadPoolExecutor中Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)


使用 gradle 构建应用程序,具有以下依赖关系:

 依赖关系{
compile(
// REST
org.glassfish.jersey.containers:jersey -container-servlet:2. +,
javax.servlet:javax.servlet-api:4. +,
// REST令牌
org.bitbucket.b_c:jose4j :0. +,
// MongoDB
org.hibernate.ogm:hibernate-ogm -bom:5. +,
org.hibernate.ogm:hibernate-ogm- infinispan:5. +,
org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1. +,
org.jboss.spec.javax.transaction:jboss- transaction-api_1.2_spec:1. +,
org.jboss.narayana.jta:narayana -jta:5. +,
org.jboss:jboss-transaction-spi:7。 +,
log4j:log4j:1. +,
org.hibernate.ogm:hibernate-ogm-mongodb:5. +,
org.bouncycastle:bcprov- jdk15on:1. +
)}

这下载球衣-common-2.26-b04.jar ,其中包含 / org / glassfish / jersey / internal / inject / InjectionManagerFactory 下的缺失类。 jar文件被部署到 WEB-INF / lib
$下的 tomcat 文件夹中b $ b

这里可能有什么问题? gradle 脚本在过去几个月使用相同的 tomcat 版本。

我有同样的问题,在降级到三月部署的版本(2.26-b03)后,一切恢复正常,希望它有帮助。 b

I am receiving below error while running my jersey API in tomcat 8.5.11 which is causing my API to stop -:

HTTP Status 500 - Servlet.init() for servlet Jersey REST Service threw exception

type Exception report

message Servlet.init() for servlet Jersey REST Service threw exception

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet.init() for servlet Jersey REST Service threw exception org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Thread.java:745)

root cause

java.lang.IllegalStateException: InjectionManagerFactory not found. org.glassfish.jersey.internal.inject.Injections.lookupInjectionManagerFactory(Injections.java:97) org.glassfish.jersey.internal.inject.Injections.createInjectionManager(Injections.java:89) org.glassfish.jersey.server.ApplicationHandler.(ApplicationHandler.java:282) org.glassfish.jersey.servlet.WebComponent.(WebComponent.java:335) org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:178) org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:370) javax.servlet.GenericServlet.init(GenericServlet.java:158) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Thread.java:745)

The application is build with the following dependencies with gradle:

dependencies {
    compile (
        // REST
        "org.glassfish.jersey.containers:jersey-container-servlet:2.+",
        "javax.servlet:javax.servlet-api:4.+",
        // REST Token
        "org.bitbucket.b_c:jose4j:0.+",
        // MongoDB
        "org.hibernate.ogm:hibernate-ogm-bom:5.+",
        "org.hibernate.ogm:hibernate-ogm-infinispan:5.+",
        "org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.+",
        "org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.+",
        "org.jboss.narayana.jta:narayana-jta:5.+",
        "org.jboss:jboss-transaction-spi:7.+",
        "log4j:log4j:1.+",
        "org.hibernate.ogm:hibernate-ogm-mongodb:5.+",
        "org.bouncycastle:bcprov-jdk15on:1.+"
    ) }

This downloads jersey-common-2.26-b04.jar which contains the missing class under /org/glassfish/jersey/internal/inject/InjectionManagerFactory. The jar file is deployed into the tomcat folder under WEB-INF/lib

What can be wrong here? The gradle script worked the last few month with the same tomcat version.

解决方案

I have the same problem, after downgrading to the version deployed in march (2.26-b03) everything is back to normal, hope it helps

这篇关于泽西停止使用未找到的InjectionManagerFactory的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆