2012-01-21 22 views
6

मैवेन में नया हूं और मैं अपना पहला POM एस सेट अप करने की कोशिश कर रहा हूं। मेरा आवेदन EhCache का उपयोग कर कैश करेगा। Maven केंद्रीय रेपो के लिए जा रहे हैं (लिंक here) मैं कॉपी-एन-चिपकाया <dependency> टैग और मेरे pom.xml में इतना है कि यह कॉपी:निर्भरता को हल करते समय मेवेन त्रुटि

...many dependencies above this point 
<dependency> 
    <scope>compile</scope> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>4.0.1.Final</version> 
</dependency> 
<dependency> 
    <scope>compile</scope> 
    <groupId>net.sf.ehcache</groupId> 
    <artifactId>ehcache</artifactId> 
    <version>2.5.0</version> 
</dependency> 
<dependency> 
    <scope>compile</scope> 
    <groupId>jasperreports</groupId> 
    <artifactId>jasperreports</artifactId> 
    <version>3.5.3</version> 
</dependency> 
...many dependencies below this point 

जब मैं परिवर्तनों को सहेजने, ग्रहण कार्यक्षेत्र बनाता है और मुझ पर एक त्रुटि देता है ehcache 2.5 के लिए खोलने <dependency> टैग:

लापता विरूपण साक्ष्य net.sf.ehcache: ehcache: जार: 2.5.0

तो मैं सोचा शायद v.2.5.0 कुछ गलत w है इसके साथ, और 2.4.7 (अंतिम 2.4.x2.5.0 से पहले रिलीज़) के लिए इसे दोहराया गया। वही सौदा

चूंकि मैं मैवेन के लिए इतना नया हूं, मुझे यह भी नहीं पता कि कहां दिखना शुरू करना है। मैंने Project >> Clean की कोशिश की और ग्रहण को फिर से शुरू करने के लिए यह देखने के लिए कि क्या यह सिर्फ एक विशिष्ट ग्रहण "क्विर्क" था। नहीं।

मैं सोच रहा हूँ:

  • ehcache Maven रेपो के लिए बुरा जार प्रकाशित करने हो सकता है?
  • क्या मैवेन रेपो के साथ कुछ गड़बड़ हो सकती है?
  • क्या यह मेरे pom.xml में कुछ और गलत कॉन्फ़िगर किया गया हो सकता है?
  • क्या यह एक "JAR नरक" मुद्दा हो सकता है जहां मेरे निर्भरता ग्राफ पर कहीं भी कोई संघर्ष हो?

एसओ इस समस्या से निपटने शुरू कैसे करेगा? अग्रिम में धन्यवाद!

+0

क्या ग्रहण में निर्भरताओं को दोबारा आयात करने का कोई तरीका है? यह देखने के लिए कि क्या यह वहां है, अपने स्थानीय रेपो को भी जांचें; हो सकता है कि एक कमांड लाइन मेवेन संकलन भी आज़माएं। जार खुद ठीक है; बस एक प्रोजेक्ट बनाया जो इसका उपयोग करता है। –

उत्तर

8

search.maven.org को संदर्भित करना आमतौर पर सुरक्षित है। वहां से निर्भरता:

<dependency> 
    <groupId>net.sf.ehcache</groupId> 
    <artifactId>ehcache</artifactId> 
    <version>2.5.0</version> 
    <type>pom</type> 
</dependency> 

मन प्रकार पोम। मॉड्यूल के पोम से:

यह ehcache कोर और क्लस्टरिंग के लिए ehcache-मिट्टी में खींचने के लिए एक पोम विरूपण साक्ष्य है। अपनी निर्भरता में 'प्रकार' को 'पोम' सेट करना सुनिश्चित करें।

स्पष्ट रूप से जब किसी को टेराकोटा की आवश्यकता नहीं होती है, तो ehcache-core अन्य उत्तर राज्यों के रूप में पूरी तरह से ठीक काम करेगा।

+1

आप शायद ehcache-core चाहते हैं। ehcache वर्तमान में पोम पेरेंट आर्टिफैक्ट है, जो आपको वास्तव में प्राप्त नहीं करेगा जो आप चाहते हैं। –

+0

@AlexSnaps वास्तव में यह करता है, यह जार में खींचने के लिए एक शीर्ष-स्तरीय पोम प्रकार आर्टिफैक्ट है। – mrembisz

+0

हाँ, ऐसा लगता है कि 2.5 बनाम 2.4 में कुछ बदल गया है। माफ़ कीजिये। –

0

मैंने इसे इंटेलिजे में गिरा दिया और इसे पाया। मुझे संदेह है कि आपकी सेटिंग्स में कुछ गड़बड़ है। इसमें केवल इस निर्भरता के साथ एक परियोजना बनाने का प्रयास करें। अगर यह डाउनलोड करने में विफल रहता है, तो मैं आपकी सेटिंग जांचूंगा। जैसे .m2/settings.xml क्या आप नेक्सस सर्वर या मेवेन प्रॉक्सी/कैश का उपयोग कर रहे हैं?

बीटीडब्ल्यू: जेएआर की खोज करने का एक आसान तरीका http://mvnrepository.com/ का उपयोग करना है जो सभी उपलब्ध संस्करणों को ढूंढेगा और आपको वह एक्सएमएल दिखाएगा जिसे आपको जोड़ने की आवश्यकता है।

8

वे ehcache-corein the official documentation का उपयोग करते हैं। Maven Central does not have a jar artifactehcache 2.5 के लिए जो आपके त्रुटि संदेश को बताता है।

<dependency> 
    <groupId>net.sf.ehcache</groupId> 
    <artifactId>ehcache-core</artifactId> 
    <version>2.5.0</version> 
</dependency> 

जो सफलतापूर्वक मेरी मशीन पर डाउनलोड करता है (ehcache नहीं):

ehcache-core का उपयोग करने के लिए निर्भरता बदल जाता है।

+1

असल में यह एहैच (बिना -कोर) के लिए पोम से है: क्लस्टरिंग के लिए एहचेचे-कोर और एहैचे-टेराकोटा में खींचने के लिए यह एक पोम आर्टिफैक्ट है। अपनी निर्भरता में 'प्रकार' को 'पोम' सेट करना सुनिश्चित करें। – mrembisz

+1

@mrembisz आप सही हैं, इसे इंगित करने के लिए धन्यवाद - मेरा विश्लेषण गलत था। हालांकि निर्भरता तब भी लागू होती है जब तक कि एराकैच-कोर टेराकोटा सामान के बिना उपयोग किया जाता है। जैसा कि बताया गया है, वे आधिकारिक ehcache मैनुअल में इस तरह से करते हैं। –

+0

हां, मैं मानता हूं कि कई मामलों में ehcache-core पर्याप्त है। – mrembisz

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