2015-04-23 8 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/मानचित्र; org.glassfish.jersey.server.AplicationHandler पर। (ApplicationHandler.java:303) org.glassfish.jersey.server.AplicationHandler पर। (ApplicationHandler.java:284) 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) io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed (LifecyleInterceptorInvocation.java:117) io.undertow.servlet.core.ManagedServlet $ DefaultInstanceStrategy.start (प्रबंधित Servlet .java: 220) 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

हां, मेरी पूरी परियोजना सेवाओं को लागू करने के लिए जेएक्स-डब्ल्यूएस का उपयोग कर रही है, और यूरेका के लिए वसंत क्लाउड क्लाइंट इसका उपयोग कर रहा है लेकिन पुराने संस्करण में। – user2818032

उत्तर

0

हम्म, यह अच्छा नहीं है। जर्सी 1 और 2 काफी अलग हैं। मुझे लगता है कि आपके पास एकमात्र विकल्प है जो वसंत-बूट-स्टार्टर-जर्सी और कोड को जर्सी 1.1 में निकालना है।

यह वसंत-बूट-स्टार्टर-जर्सी कोड को देखने के लायक हो सकता है यह देखने के लिए कि यह आपको सामानों को स्वत: कॉन्फ़िगर करता है, जो आपके कोडिंग में आपकी सहायता कर सकता है।

यह बहुत दुर्भाग्यपूर्ण है, क्योंकि स्प्रिंग बूट आपको निर्भरता का एक क्यूरेटेड, संगत सेट देना चाहता है, लेकिन ऐसा लगता है कि स्प्रिंग-क्लाउड-स्टार्टर-यूरेका को स्प्रिंग बूट में नहीं जोड़ा गया है, इसलिए आप इसका उपयोग कर फंस गए हैं एक पुरानी एपीआई

+0

समस्या यूरेका जर्सी पर निर्भर करती है 1. यह वसंत बूट या इसके निर्भरता प्रबंधन में कोई समस्या नहीं है। – spencergibb

+0

हां, यह एकमात्र समाधान प्रतीत होता है, लेकिन मुझे वास्तव में जर्सी के नवीनतम संस्करणों की सादगी पसंद है, मेरे पास एक कस्टम सुरक्षा फ़िल्टर है। यह भी एक तथ्य यह है कि जर्सी के उन पुराने संस्करण में वसंत समर्थन नहीं है। – user2818032

+0

मैंने कंसुल क्लाइंट की कोशिश की थी और यह एक ही समस्या का सामना कर रहा है, दिए गए कुछ नेटफ्लिक्स पुस्तकालयों का उपयोग कर रहा है। खराब किस्मत। मुझे कंसुल के लिए एक http क्लाइंट मिला जो अपाचे क्लाइंट लाइब्रेरीज़ का उपयोग करता है, मैं इसे आज़मा दूंगा, वसंत क्लाउड फ्रेंडली नहीं है लेकिन वसंत बूट दोस्ताना है मुझे लगता है कि इसे खरीदा जाना चाहिए – 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

मैं अपनी समस्या को हल करने का प्रबंधन करता हूं, यह सबसे अच्छा नहीं है लेकिन यह काम करता है, मैंने पुस्तकालय का एक स्ट्रिप-आउट संस्करण बनाया है, जो एक सीएक्सएफ लाइब्रेरी के साथ जर्सी क्लाइंट को बदल रहा है, और यह पूरी तरह से काम करता है।

https://github.com/MicroIdeas/service-registry/tree/master/src/main/java/co/microideas/framework

0

मैं एक ही समस्या हो रही थी, जब तक मैं निर्भरता के शीर्ष करने के वसंत-बूट स्टार्टर-जर्सी चले गए। ऐसा लगता है कि यह पूरी तरह से ठीक है।

संबंधित मुद्दे