Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 尤里卡和泽西2.x_Spring_Spring Boot_Netflix Eureka - Fatal编程技术网

Spring 尤里卡和泽西2.x

Spring 尤里卡和泽西2.x,spring,spring-boot,netflix-eureka,Spring,Spring Boot,Netflix Eureka,我正在使用Spring Boot并寻找discovery服务器。我看到“SpringCloudStarter netflix eureka服务器”依赖于Jersey 1.x,这在我的环境中是不可用的。有几个帖子在讨论如何添加与Jersey 2.x的兼容性,还有一些帖子在讨论如何一起删除Jersey 但是,我没有看到任何与这些选项以及如何使用它们相关的文档/代码的链接。有人能告诉我这里有哪些选择吗 以下是迄今为止我收集到的关于此的链接: Spring Boot Jersey starter引入了

我正在使用Spring Boot并寻找discovery服务器。我看到“SpringCloudStarter netflix eureka服务器”依赖于Jersey 1.x,这在我的环境中是不可用的。有几个帖子在讨论如何添加与Jersey 2.x的兼容性,还有一些帖子在讨论如何一起删除Jersey

但是,我没有看到任何与这些选项以及如何使用它们相关的文档/代码的链接。有人能告诉我这里有哪些选择吗

以下是迄今为止我收集到的关于此的链接:


Spring Boot Jersey starter引入了Jersey 2.x,而Spring Cloud Eureka starter引入了Eureka客户端依赖项,该客户端依赖项过渡地包括Jersey 1.x

基本上,在Eureka客户端升级到使用Jersey 2.x之前,Spring Boot Jersey starter和Spring Cloud Eureka starter将无法使用

很可能您遇到了类似
java.lang.NoSuchMethodError:javax.ws.rs.core.Application.getProperties()Ljava/util/Map的错误

你的选择是:

  • 如果您想继续使用JAX-RS impl-Spring引导CXF启动器--

  • Spring Boot+手动配置Jersey 1.x或Spring MVC Rest --


    • 下面的依赖关系对我来说很有用。看到我的pom了吗

      <parent>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-parent</artifactId>
          <version>2.0.3.RELEASE</version>
      </parent>
      <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
          <version>2.0.0.RELEASE</version>
          <exclusions>
              <exclusion>
                <groupId>javax.ws.rs</groupId>
                <artifactId>jsr311-api</artifactId>
             </exclusion>
          </exclusions>
      </dependency>
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-jersey</artifactId>
      </dependency>
      
      
      org.springframework.boot
      spring启动程序父级
      2.0.3.1发布
      org.springframework.cloud
      spring cloud starter netflix eureka客户端
      2.0.0.1版本
      javax.ws.rs
      jsr311 api
      org.springframework.boot
      春靴起跑服
      
      感谢您的回复。不幸的是,Jersey 1.x在允许我们运行应用程序的应用程序容器中不受支持。因此,排除了选项2,我们也不使用JAX-RS/Jersey规范/实现。我正在为discovery server寻找现成的解决方案,但根据您的评论,构建一个解决方案是唯一的选择吗?请查看
      Spring Cloud Consul
      -。它可以用于服务发现和分布式配置