2015-04-23 27 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

我有同樣的問題,直到我搬到彈簧引導起動球衣依賴的頂部。這似乎完全可以治癒它。