दिलचस्प पोस्ट
क्या बाइनरी छवि डेटा को HTML मार्कअप में रखना संभव है और फिर किसी भी ब्राउज़र में छवि को सामान्य रूप में प्रदर्शित किया जा सकता है? क्या मुझे जावास्क्रिप्ट में चल रहे फ़ंक्शन का नाम मिल सकता है? जब सी # (या जावा, सी ++, इत्यादि) में रेगेक्स का उपयोग न करें फाइल अपलोड के साथ ServletFileUpload के parseRequest? window.localStorage बनाम chrome.storage.local विभिन्न SELECT क्वेरीज़ के आउटपुट को वापस करने के लिए पीएल / पीजीएसयूएल फ़ंक्शन रिफैक्टर करें पी-वैल्यू खींचें और रैखिक प्रतिगमन से आर-स्क्वायर खींचें एक यादृच्छिक संख्या जनरेटर कैसे काम करता है? क्या "असली संख्या" प्रकारों के लिए सी # सामान्य बाधा है? सामग्री को फिट करने के लिए मैं एक UIScrollView को कैसे आकार देता हूं क्या पोस्ट पैरामीटर सामग्री के लिए अधिकतम आकार है? अजगर – पुनः। अवांछित परिणाम रिटर्न REST में बनाम पोस्ट करें ईलेप्प्स इंटरव्यू के तरीकों पर @ ओवरराइड के बारे में क्यों शिकायत करता है? java.lang.IllegalArgumentException: अवैध <url-pattern> सर्वलेट मैपिंग में

मैवेन स्नैपशॉट क्या है और हमें इसकी आवश्यकता क्यों है?

मैं एक मैवेन स्नैपशॉट के अर्थ के बारे में थोड़ा उलझन में हूं और हम एक क्यों बनाते हैं?

वेब के समाधान से एकत्रित समाधान "मैवेन स्नैपशॉट क्या है और हमें इसकी आवश्यकता क्यों है?"

मेवेन में स्नैपशॉट संस्करण रिलीज़ नहीं किया गया है।

यह विचार यह है कि 1.0 रिहाई (या कोई अन्य रिहाई) से पहले, एक 1.0-SNAPSHOT मौजूद है यह संस्करण 1.0 हो सकता है । यह मूल रूप से "विकास के अंतर्गत 1.0 " है यह वास्तविक 1.0 रिहाई, या बहुत दूर ( 0.9 रिलीज़ के बाद, उदाहरण के लिए) के करीब हो सकता है।

एक "वास्तविक" संस्करण और एक स्नैपशॉट संस्करण के बीच का अंतर यह है कि स्नैपशॉट अपडेट प्राप्त कर सकते हैं। इसका मतलब है कि 1.0-SNAPSHOT डाउनलोड करने से कल कल या कल डाउनलोड करने से कोई दूसरी फाइल दे सकती है।

सामान्यतया, स्नैपशॉट निर्भरताएं केवल विकास के दौरान ही मौजूद होंगी और कोई रिलीज़ संस्करण (अर्थात कोई गैर स्नैपशॉट) स्नैपशॉट संस्करण पर निर्भरता नहीं होनी चाहिए।

तीन अन्य लोगों के जवाब में आपको -SNAPSHOT संस्करण क्या है, -SNAPSHOT अच्छा -SNAPSHOT । जब मैं एक SNAPSHOT निर्भरता पाता है तो SNAPSHOT के व्यवहार के बारे में मैं कुछ जानकारी जोड़ना चाहता था।

जब आप कोई एप्लिकेशन बनाते हैं, तो मेवेन स्थानीय रिपॉजिटरी में निर्भरता की खोज करेगा। अगर कोई स्थिर संस्करण वहां नहीं मिला है, तो यह निर्भरता पुनर्प्राप्त करने के लिए दूरस्थ संग्रह ( settings.xml pom.xml या pom.xml में परिभाषित) खोज करेगा। इसके बाद, यह इसे स्थानीय भंडार में कॉपी कर देगा, ताकि इसे अगले बिल्ड के लिए उपलब्ध कराया जा सके।

उदाहरण के लिए, एक foo-1.0.jar लाइब्रेरी को एक स्थिर संस्करण के रूप में माना जाता है, और अगर foo-1.0.jar इसे स्थानीय भंडार में पाता है, तो यह मौजूदा बिल्ड के लिए इसका उपयोग करेगा।

अब, अगर आपको एक foo-1.0-SNAPSHOT.jar लाइब्रेरी की आवश्यकता है, तो foo-1.0-SNAPSHOT.jar जान जाएगी कि यह संस्करण स्थिर नहीं है और परिवर्तनों के अधीन है। यही कारण है कि मैवेन दूरस्थ रिपॉजिटरी में एक नया संस्करण ढूंढने की कोशिश करेगा, भले ही इस पुस्तकालय का एक संस्करण स्थानीय भंडार पर पाया गया हो। हालांकि, यह चेक प्रति दिन केवल एक बार किया जाता है। इसका मतलब यह है कि अगर आपके पास एक foo-1.0-20110506.110000-1.jar (अर्थात यह पुस्तकालय foo-1.0-20110506.110000-1.jar से उत्पन्न हुआ है), और यदि आप foo-1.0-20110506.110000-1.jar फिर से निर्माण करते हैं उसी दिन, मेवेन एक नए संस्करण के लिए रिपॉजिटरी की जांच नहीं करेगा।

मेवेन आपको अपनी रिपॉजिटरी परिभाषा में इस अद्यतन नीति को बदल सकते हैं:

 <repository> <id>foo-repository</id> <url>...</url> <snapshots> <enabled>true</enabled> <updatePolicy>XXX</updatePolicy> </snapshots> </repository> 

जहां XXX हो सकता है:

  • हमेशा : मैवेन हर बिल्ड पर एक नए संस्करण की जांच करेगा;
  • दैनिक , डिफ़ॉल्ट मान;
  • अंतराल: XXX : मिनटों में एक अंतराल (XXX)
  • कभी नहीं : मेवेन दूसरे संस्करण को पुनः प्राप्त करने की कोशिश नहीं करेगा। यह है कि अगर केवल स्थानीय स्तर पर उपलब्ध नहीं है। कॉन्फ़िगरेशन के साथ, SNAPSHOT संस्करण को स्थिर पुस्तकालयों के रूप में नियंत्रित किया जाएगा।

(settings.xml का मॉडल यहां पाया जा सकता है)

"SNAPSHOT" शब्द का मतलब है कि बिल्ड आपके कोड का स्नैपशॉट एक निश्चित समय पर होता है।

यह आमतौर पर इसका अर्थ है कि संस्करण अभी भी भारी विकास के तहत एक संस्करण है।

जब आपका कोड जारी करने के लिए समय आता है, तो आप पॉम में सूचीबद्ध संस्करण को बदलना चाहते हैं। इसलिए "SNAPSHOT" होने के बजाय आपके पास "1.0" जैसी कोई चीज़ होगी

संस्करण के साथ कुछ मदद के लिए, सिमेंटिक वर्जनिंग विनिर्देश देखें ।

एक "जारी" संस्करण के लिए अंतिम निर्माण होता है जो कि परिवर्तन नहीं करता है

एक "स्नैपशॉट" एक बिल्ड है जिसे एक और बिल्ड द्वारा प्रतिस्थापित किया जा सकता है जिसका नाम समान है इसका अर्थ है कि बिल्ड किसी भी समय बदल सकता है और अभी भी सक्रिय विकास के अंतर्गत है।

आपके पास एक ही कोड के आधार पर विभिन्न निर्माण के लिए अलग-अलग कलाकृतियों हैं। उदाहरण के लिए आपके पास डिबगिंग और एक के बिना एक हो सकता है। एक जावा 5.0 के लिए और एक जावा 6 के लिए। आम तौर पर इसकी सरलता एक निर्माण होता है जो आपकी ज़रूरतों को पूरा करता है। 😉

इस तरह से एक स्नैपशॉट एक रिपॉजिटरी के लिए दिखता है और इस स्थिति में सक्षम नहीं है, जिसका अर्थ है कि यहाँ संदर्भित भंडार स्थिर है और अद्यतनों की कोई आवश्यकता नहीं है

 <project> ... <repositories> <repository> <id>lds-main</id> <name>LDS Main Repo</name> <url>http://code.lds.org/nexus/content/groups/main-repo</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> </project> 

एक और मामला होगा:

 <snapshots> <enabled>true</enabled> </snapshots> 

जिसका अर्थ है कि मेवेन इस रिपॉजिटरी के लिए अपडेट की तलाश करेगा। आप टैग के अपडेट के लिए एक अंतराल भी निर्दिष्ट कर सकते हैं।

आम तौर पर मवेरे में हमारे पास दो प्रकार के निर्माण होते हैं 1) स्नैपशॉट बनता है 2) रिलीज़ बिल्ड बनाता है

1) स्नैपशॉट बिल्ड: एसएनएपीएसएचओटी विशेष संस्करण है जो वर्तमान परिनियोजन प्रतिलिपि को नियमित संस्करण की तरह नहीं दर्शाता है, मेवेन रिमोट रेपॉजिटरी में हर बिल्ड के लिए संस्करण की जांच करता है ताकि स्नैपशॉट निर्मित कुछ भी नहीं हो लेकिन रखरखाव के निर्माण

2) रिलीज़ निर्माण: रिलीज़ का मतलब है निर्माण के लिए संस्करण पर SNAPSHOT को निकालना, ये नियमित बिल्ड संस्करण हैं।

मेवेन संस्करणों में एक स्ट्रिंग शब्दशः "SNAPSHOT" शामिल हो सकता है जो यह दर्शाती है कि एक परियोजना वर्तमान में सक्रिय विकास के अंतर्गत है।

उदाहरण के लिए, यदि आपके प्रोजेक्ट में "1.0-SNAPSHOT" का संस्करण है और आप इस प्रोजेक्ट की कलाकृतियों को एक मेवेन रिपॉजिटरी में तैनात करते हैं, तो मेवेन इस संस्करण को "1.0-20080207-230803-1" का विस्तार करेगा यदि आप 11 : 7 फ़रवरी, 2008 यूटीसी 2008 में 08 बजे। दूसरे शब्दों में, जब आप एक स्नैपशॉट परिनियोजित करते हैं, तो आप एक सॉफ़्टवेयर घटक की रिहाई नहीं कर रहे हैं; आप एक विशिष्ट समय पर एक घटक का स्नैपशॉट जारी कर रहे हैं।

इसलिए मुख्य रूप से स्नैपशॉट संस्करण सक्रिय विकास के तहत परियोजनाओं के लिए उपयोग किया जाता है। अगर आपकी परियोजना किसी सॉफ्टवेयर घटक पर निर्भर करती है जो कि सक्रिय विकास के अंतर्गत है, तो आप स्नैपशॉट रिलीज़ पर निर्भर कर सकते हैं, और जब आप एक बिल्ड चलाते हैं तो मेवेन समय-समय पर एक रिपॉजिटरी से नवीनतम स्नैपशॉट को डाउनलोड करने का प्रयास करेगा। इसी तरह, यदि आपके सिस्टम की अगली रिलीज के पास "1.8" संस्करण होना है, तो आपके प्रोजेक्ट में "1.8-एसएएनएपीएसएचओटी" संस्करण होगा जब तक कि इसे औपचारिक रूप से रिलीज़ नहीं किया गया था।

उदाहरण के लिए, निम्नलिखित निर्भरता हमेशा वसंत के नवीनतम 1.8 विकास जार डाउनलोड करेगी:

  <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>1.8-SNAPSHOT”</version> </dependency> 

Maven

Maven रिलीज़ प्रक्रिया का एक उदाहरण

यहां छवि विवरण दर्ज करें