java.lang.IllegalStateException: InjectionManagerFactory not found 解决方法

 报错信息

ConnectionException{message=Error during execution: java.lang.IllegalStateException: InjectionManagerFactory not found., status=0}
	at com.huawei.openstack4j.connectors.jersey2.HttpExecutorServiceImpl.execute(HttpExecutorServiceImpl.java:70)
	at com.huawei.openstack4j.core.transport.internal.HttpExecutor.execute(HttpExecutor.java:67)
	at com.huawei.openstack4j.openstack.internal.OSAuthenticator.authenticateV3(OSAuthenticator.java:221)
	at com.huawei.openstack4j.openstack.internal.OSAuthenticator.invoke(OSAuthenticator.java:107)
	at com.huawei.openstack4j.openstack.client.OSClientBuilder$ClientV3.authenticate(OSClientBuilder.java:202)
	at com.huawei.openstack4j.openstack.client.OSClientBuilder$ClientV3.authenticate(OSClientBuilder.java:163)
	at com.printsky.tms.aoguang.service.systemoper.HuaWeiOperImpl.getPublicIp(HuaWeiOperImpl.java:186)
	at 

因为是和spring集成导致

方法1:添加依赖

 
            org.glassfish.jersey.inject
            jersey-hk2
            2.27
        

方法2:添加依赖


            org.glassfish.jersey.ext
            jersey-spring4
            2.26
        

方法3:添加依赖

    
            org.springframework.boot
            spring-boot-starter-jersey
        

在正常应用中,Jersey只是作为服务端接口存在,而接口需要调用Service来完成具体的业务。在Jersey中,默认使用的是HK2这个DI/AOP框架来完成服务管理和注入的,所以我们前面看到的@Contract,@Service等,都是HK2框架提供的。但是我们平时用的更多的,肯定是Spring容器,所以我们需要把Jersey和Spring集成起来。

但是注意一点,Jersey和Spring集成,更多的应该叫做Jersey来集成Spring,或者叫Jersey来启动Spring框架,使用的是HK2-Spring Bridge(HK2-Spring桥)依赖完成的。所以,我们一般不会把Jersey和SpringMVC混合起来使用,如果有类似网站门户和WebAPI共存的情况下,也会区分两个项目

引用:https://www.jianshu.com/p/dd11e1bb58c3



 

你可能感兴趣的:(spring,boot)