use*_*032 5 java spring jersey spring-boot spring-cloud
您好我有一个正在使用的Spring启动应用程序
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这取决于Jersey版本2.7.
试图使用时
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
内部使用Jersey版本1.1,由于同一个库的两个不同版本,应用程序失败.
关于如何解决这个问题的任何建议,我试图只使用版本2.7,但它们似乎彼此不兼容
谢谢
java.lang.NoSuchMethodError:javax.ws.rs.core.Application.getProperties()Ljava/util/Map; 在Org.glassfish.jersey.server.ApplicationHandler.(ApplicationHandler.java:303)org.glassfish.jersey.server.ApplicationHandler.(ApplicationHandler.java:284)org.glassfish.jersey.servlet.WebComponent.(WebComponent. java:311)org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:168)atg.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:358)at javax.servlet.GenericServlet.init (GenericServlet.java:158)io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(lifecyleInterceptorInvocation.java:117)at io.undertow.servlet.core.ManagedServlet $ DefaultInstanceStrategy.start(ManagedServlet.java:220)at io. undero.servlet.core.ManagedServlet.getServlet(ManagedServlet.java:163)at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:84)at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler. Java的:82)
嗯,这样不好。球衣 1 和 2 明显不同。我认为您唯一的选择是删除 spring-boot-starter-jersey 并将代码删除到 Jersey 1.1。
可能值得查看 spring-boot-starter-jersey 代码,看看它在自动配置内容时为您提供了什么,这可能会对您的编码有所帮助。
这是非常不幸的,因为 Spring boot 应该为您提供一组精选的、兼容的依赖项,但看起来 spring-cloud-starter-eureka 尚未合并到 Spring boot 中,因此您只能使用旧的 API。
| 归档时间: |
|
| 查看次数: |
1763 次 |
| 最近记录: |