2015-04-23 121 views
5

你好,我有一个使用春云Netflix的球衣版本冲突

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-jersey</artifactId> 
    </dependency> 

这是依赖于新泽西版本2.7春天启动应用程序。

当尝试使用

<dependency> 
    <groupId>org.springframework.cloud</groupId> 
    <artifactId>spring-cloud-starter-eureka</artifactId> 
</dependency> 

在内部使用泽西1.1版本,应用程序失败给出 的两个不同版本的同一个库的。

在如何解决这个问题的任何意见,我曾尝试只使用2.7版本,但他们似乎不兼容各-其他

感谢

java.lang.NoSuchMethodError:javax.ws .rs.core.Application.getProperties()Ljava/util的/地图; at org.glassfish.jersey.server.ApplicationHandler。(ApplicationHandler.java:303) at org.glassfish.jersey.server.ApplicationHandler。(ApplicationHandler.java:284) at org.glassfish.jersey.servlet.WebComponent。 (WebComponent.java:311) 在org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:168) 在org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:358) 在的javax .servlet.GenericServlet.init(GenericServlet.java:158) at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:117) at io.undertow.servlet.core.ManagedServlet $ DefaultInstanceStrategy.start(ManagedServlet .java:220) at io.undertow.servlet.core.ManagedServlet.get小服务程序(ManagedServlet.java:163) 在io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:84) 在io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:82)

+1

您是否试图同时使用这两个依赖项? –

+0

是的,我的整个项目正在使用JAX-WS来实现这些服务,而尤里卡的spring云客户端使用相同的,但使用旧版本。 – user2818032

回答

0

嗯,那不好。泽西岛1和2显着不同。我认为你唯一的选择是去掉Jersey-1.1的spring-boot-starter-jersey和代码。

看看spring-boot-starter-zersey代码,看看它在自动配置东西时会给你什么,这可能会帮助你编码。

这是非常不幸的,因为Spring引导应该给你一个策划的,兼容的依赖关系集,但它看起来像spring-cloud-starter-eureka还没有被折叠到Spring引导中,所以你坚持使用一个旧的API。

+0

问题是尤里卡依赖于运动衫1.这不是春季引导或它的依赖管理的问题。 – spencergibb

+0

是的,这似乎是唯一的解决方案,但我真的很喜欢最新版本的球衣的简单性,我有一个自定义的安全过滤器。另一个事实是那些旧版球衣没有弹簧支撑。 – user2818032

+0

我曾尝试Consul客户端,它遭受同样的问题,给予使用一些Netflix库。厄运。我找到了一个使用apache客户端库的consul的http客户端,我会试试看,不是春天友好的,但是对spring引导很友好,我想这应该足够了 – user2818032

3

我已经得到了与新泽西州2和尤里卡客户端安装程序全部通过春云通过指定工作如下:

<plugin> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-maven-plugin</artifactId> 
     <configuration> 
      <excludes> 
       <exclude> 
        <groupId>javax.ws.rs</groupId> 
        <artifactId>jsr311-api</artifactId> 
       </exclude> 
      </excludes> 
     </configuration> 
    </plugin> 

唯一的问题是,虽然测试尚未运行。但我们仍在试图找到解决问题的完整方案。

0

我有同样的问题,直到我搬到弹簧引导起动球衣依赖的顶部。这似乎完全可以治愈它。