Spring Cloud(Edgware.RELEASE)采用Eureka做为服务管理,而RESTFUL采用Jersey时容易出现此错误,原因是因为spring-cloud-starter-eureka目前采用的Jersey 1.1,而spring-boot-starter-jersey用的是Jersey 2.x版本,Jersey 1.x与Jersey 2.x在注入方式等上有所不同。

考虑到Spring boot也是采用依赖管理跟自动配置的,只不过依赖的管理由Spring boot自动处理了,而且spring-boot-starter-jersey用的是Jersey 2.x版本,所以采用如下方式将spring-cloud-starter-eureka的jsr311-api不引入依赖,而采用spring boot引入的Jersey 2.x版本,至此标题错误得以解决:

		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka</artifactId>
			<exclusions>
				<exclusion>
					<groupId>javax.ws.rs</groupId>
					<artifactId>jsr311-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐