com.sun.jersey.spi.inject.Errors$ErrorMessagesException

/ Markbug / 没有评论 / 596浏览
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
五月 05, 2017 3:08:20 下午 com.sun.jersey.spi.inject.Errors processErrorMessages
严重: The following errors and warnings have been detected with resource and/or provider classes:
  SEVERE: Missing dependency for field: javax.ws.rs.core.UriInfo com.alibaba.fastjson.support.jaxrs.FastJsonProvider.uriInfo
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: com.sun.jersey.spi.inject.Errors$ErrorMessagesException
	at com.sun.jersey.spi.inject.Errors.processErrorMessages(Errors.java:170)
	at com.sun.jersey.spi.inject.Errors.postProcess(Errors.java:136)
	at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:199)
	at com.sun.jersey.api.client.Client.<init>(Client.java:187)
	at com.sun.jersey.api.client.Client.<init>(Client.java:170)
	at com.sun.jersey.api.client.Client.create(Client.java:679)
	at com.microsoft.windowsazure.core.pipeline.jersey.Exports$3.create(Exports.java:72)
	at com.microsoft.windowsazure.core.pipeline.jersey.Exports$3.create(Exports.java:64)
	at com.microsoft.windowsazure.core.DefaultBuilder.build(DefaultBuilder.java:200)
	at com.microsoft.windowsazure.core.DefaultBuilder$1.create(DefaultBuilder.java:138)
	at com.microsoft.windowsazure.core.DefaultBuilder.build(DefaultBuilder.java:200)
	at com.microsoft.windowsazure.core.DefaultBuilder$1.create(DefaultBuilder.java:138)
	at com.microsoft.windowsazure.core.DefaultBuilder.build(DefaultBuilder.java:200)
	at com.microsoft.windowsazure.Configuration.create(Configuration.java:113)
	at com.microsoft.windowsazure.services.servicebus.ServiceBusService.create(ServiceBusService.java:52)

今天组内成员在使用微软云服务总线中的队列服务时,遇到了上面的错误。因为我们小组使用队列服务比较频繁,本人已经将队列服务封装成了一个工具类,来方便操作队列。并且这个工具类已经在本人负责的项目里使用过了,且该项目已经上线,暂时没有发现任何问题。所以今天组内成员遇到上述问题时,感觉很诡异。后来解决时发现是jar冲突。

因为工具类已经在项目中使用了,所以不太可能是工具类里的代码原因导致的,事实上,本人也在本地做过测试,也就是调用组内其它成员使用的队列,发现没有问题。那么既然不是工具类的原因,那么一定是开发环境的原因了。如果要是开发环境的原因,那么十有八九就是jar包的原因,于是试着将错误信息中的fastjson的包升级到了最新版。问题解决了。(原fastjson包的版本为1.2.1现在已经升级成了1.2.3)