春云Netflix的球衣版本冲突
你好,我有一个使用春云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和2显着不同。我认为你唯一的选择是去掉Jersey-1.1的spring-boot-starter-jersey和代码。
看看spring-boot-starter-zersey代码,看看它在自动配置东西时会给你什么,这可能会帮助你编码。
这是非常不幸的,因为Spring引导应该给你一个策划的,兼容的依赖关系集,但它看起来像spring-cloud-starter-eureka还没有被折叠到Spring引导中,所以你坚持使用一个旧的API。
问题是尤里卡依赖于运动衫1.这不是春季引导或它的依赖管理的问题。 – spencergibb
是的,这似乎是唯一的解决方案,但我真的很喜欢最新版本的球衣的简单性,我有一个自定义的安全过滤器。另一个事实是那些旧版球衣没有弹簧支撑。 – user2818032
我曾尝试Consul客户端,它遭受同样的问题,给予使用一些Netflix库。厄运。我找到了一个使用apache客户端库的consul的http客户端,我会试试看,不是春天友好的,但是对spring引导很友好,我想这应该足够了 – user2818032
我已经得到了与新泽西州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>
唯一的问题是,虽然测试尚未运行。但我们仍在试图找到解决问题的完整方案。
我设法解决我的问题,这不是最好的,但它的工作原理,我做了一个脱衣舞版本的库,用cxf库取代运动衫客户端,并且它完美地工作。
https://github.com/MicroIdeas/service-registry/tree/master/src/main/java/co/microideas/framework
我有同样的问题,直到我搬到弹簧引导起动球衣依赖的顶部。这似乎完全可以治愈它。
您是否试图同时使用这两个依赖项? –
是的,我的整个项目正在使用JAX-WS来实现这些服务,而尤里卡的spring云客户端使用相同的,但使用旧版本。 – user2818032