একটি মাভেন স্ন্যাপশট আসলে কী এবং কেন আমাদের এটির প্রয়োজন?


850

আমি মাভেন স্ন্যাপশটের অর্থ সম্পর্কে কিছুটা বিভ্রান্ত এবং কেন আমরা এটি তৈরি করি?

উত্তর:


1012

মাভেনের একটি স্ন্যাপশট সংস্করণ হ'ল এটি প্রকাশিত হয়নি।

ধারণাটি হ'ল একটি মুক্তি (বা অন্য কোনও প্রকাশ) হওয়ার আগে1.0 , সেখানে একটি রয়েছে 1.0-SNAPSHOT। যে সংস্করণটি হয়ে উঠতে পারে 1.0 । এটি মূলত " 1.0বিকাশাধীন"। এটি বাস্তব রিলিজের কাছাকাছি হতে পারে 1.0বা বেশ দূরে ( 0.9উদাহরণস্বরূপ মুক্তির পরে )।

একটি "আসল" সংস্করণ এবং স্ন্যাপশট সংস্করণের মধ্যে পার্থক্য হ'ল স্ন্যাপশটগুলি আপডেট পেতে পারে। এর অর্থ হ'ল 1.0-SNAPSHOTআজ ডাউনলোড করা গতকাল বা কালকে ডাউনলোড করার চেয়ে আলাদা ফাইল দিতে পারে।

সাধারণত, স্ন্যাপশট নির্ভরতা কেবল বিকাশের সময় উপস্থিত থাকতে হবে এবং কোনও প্রকাশিত সংস্করণ (অর্থাত্ নন-স্ন্যাপশট নয়) স্ন্যাপশট সংস্করণে নির্ভরতা থাকা উচিত।


67
@amphibient: না, স্ন্যাপশট না অগত্যা আরো স্থিতিশীল: এটা শুধুমাত্র সাম্প্রতিক বিল্ড। স্ন্যাপশট পূর্বে প্রকৃত মুক্তি, এটা পরে আসে না। প্রকৃতপক্ষে, সংস্করণ সংখ্যাগুলি সাধারণত শাখাগুলি উল্লেখ করে না।
আভান্দুরসন

9
@ ওয়ান্ডারউসেন স্ন্যাপশটগুলিতে আপনার দাবী করা শব্দার্থক শব্দগুলি অগত্যা নেই। আপনার কাছে "মাস্টার-এসএনএপশট" থাকতে পারে এবং পরে একটি 1.0 রিলিজ করতে পারে। এটি "ফিউচারভিশন-এসএনএপিএসএইচটি" হতে হবে না বা অগত্যা কোনও রিলিজের আগে তৈরি হবে না। যদিও সমস্ত কিছু ঠিক আছে - এটি একটি চলমান টার্গেটের অস্থির রেফারেন্স এবং পুনরাবৃত্তিযোগ্য বিল্ড উত্পাদন করতে নির্ভর করা যায় না।
স্কট কেরি

3
ধন্যবাদ @ স্কটকারে। "সাধারণ পূর্ববর্তীগুলি" সম্ভবত আরও সঠিক হতে পারে কারণ "চলমান লক্ষ্য" অবশেষে উপস্থিত থাকার নিশ্চয়তাও নেই।
অ্যাভান্দারসন

1
@ জায়ে: না, যতদূর আমি জানি যে কোনও নির্দিষ্ট এসএনএপশটকে স্পষ্টভাবে উল্লেখ করার কোনও উপায় নেই, তারা নকশার দ্বারা অ-ঠিকানাযোগ্য / আদান-প্রদানযোগ্য। আপনার যদি সূক্ষ্ম দানযুক্ত সংস্করণ প্রয়োজন হয় তবে আপনার নির্দিষ্ট সংস্করণ স্ট্রিং (-RC1, -RC2 বা এর মতো কিছু) সহ মুক্তির প্রার্থীদের মুক্তি দেওয়া উচিত।
জোছিম সউর

14
কেন তারা এটিকে কেবল " 1.0-DEVELOPMENT" বা " 1.0-INPROGRESS" পছন্দ করতে পারে না, কেন লোকেরা
স্পষ্টত অজানা

791

অন্য তিনটি উত্তর আপনাকে -SNAPSHOTসংস্করণ কী তা সম্পর্কে একটি ভাল দৃষ্টি সরবরাহ করে । আমি যখন ম্যাভেনের SNAPSHOTনির্ভরতা পাই তখন তার আচরণ সম্পর্কিত কিছু তথ্য যুক্ত করতে চেয়েছিলাম ।

আপনি যখন কোনও অ্যাপ্লিকেশন তৈরি করবেন, মাভেন স্থানীয় সংগ্রহস্থলে নির্ভরতাগুলি অনুসন্ধান করবে । যদি সেখানে কোনও স্থিতিশীল সংস্করণ পাওয়া যায় না, তবে এই নির্ভরতা পুনরুদ্ধার করতে এটি দূরবর্তী সংগ্রহস্থলগুলিতে (সংজ্ঞায়িত settings.xmlবা এর মধ্যে pom.xml) অনুসন্ধান করবে । তারপরে, এটি পরবর্তী বিল্ডগুলির জন্য উপলব্ধ করার জন্য এটি স্থানীয় সংগ্রহস্থলে অনুলিপি করবে।

উদাহরণস্বরূপ, একটি foo-1.0.jarলাইব্রেরি একটি স্থিতিশীল সংস্করণ হিসাবে বিবেচিত হয় এবং যদি মাভেন এটি স্থানীয় সংগ্রহস্থলে খুঁজে পায় তবে এটি বর্তমান বিল্ডের জন্য এটি ব্যবহার করবে।

এখন, আপনার যদি কোনও foo-1.0-SNAPSHOT.jarলাইব্রেরি দরকার হয় তবে মাভেন জানতে পারবেন যে এই সংস্করণটি স্থিতিশীল নয় এবং এটি পরিবর্তনের বিষয়। এই কারণেই মাভেন দূরবর্তী সংগ্রহস্থলগুলিতে একটি নতুন সংস্করণ সন্ধান করার চেষ্টা করবেন, এমনকি এই লাইব্রেরির কোনও সংস্করণ স্থানীয় সংগ্রহস্থলে পাওয়া গেলেও। তবে এই চেকটি প্রতিদিন একবার করেই করা হয়। এর অর্থ foo-1.0-20110506.110000-1.jarহ'ল যদি আপনার স্থানীয় সংগ্রহস্থলটিতে একটি (যেমন এই লাইব্রেরিটি ২০১১/০6/২০১:00 তারিখে 11:00:00 এ তৈরি করা হয়েছে) এবং যদি আপনি একই দিনে মাভেন বিল্ড চালনা করেন তবে মাভেন সংগ্রহশালাটি চেক করবেন না আরও নতুন সংস্করণের জন্য।

মাভেন আপনাকে আপনার সংগ্রহস্থল সংজ্ঞাতে এই আপডেট নীতিটি পরিবর্তন করার একটি উপায় সরবরাহ করে:

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

কোথায় XXXহতে পারে:

  • সর্বদা : মাভেন প্রতিটি বিল্ডে একটি নতুন সংস্করণ পরীক্ষা করবেন;
  • প্রতিদিন , ডিফল্ট মান;
  • বিরতি: XXX : মিনিটের ব্যবধান (XXX)
  • কখনই নয় : ম্যাভেন কখনও অন্য সংস্করণটি পুনরুদ্ধার করতে চেষ্টা করবে না। এটি স্থানীয়ভাবে বিদ্যমান না হলে এটি করবে। কনফিগারেশন সহ, SNAPSHOTসংস্করণ স্থিতিশীল লাইব্রেরি হিসাবে পরিচালনা করা হবে।

(সেটিংসের মডেল। এক্সএমএল এখানে পাওয়া যাবে)


2
মনে হচ্ছে ফোর্স নিয়ে কমান্ড লাইন সুইচ ব্যবহার করতে ম্যাভেন সব redownload সম্ভব SNAPSHOTসংস্করণ: mvn clean package -Uযেমন প্রতি ম্যাভেন টিউটোরিয়াল
Dimitry কে

3
-Uপতাকা সহ যত্নবান । এটি MNG-4142 এর কারণে আপনি যা প্রত্যাশা করছেন তা নাও করতে পারে ।
কেভিন ক্রস

3
এছাড়াও উল্লেখ করার মতো বিষয় যে আপনি যখন একটি রিলিজ সংস্করণ তৈরি করতে আসবেন তখন ভাল অনুশীলনের জন্য আপনাকে কোনও স্ন্যাপশট নির্ভরতা ব্যবহার করা উচিত নয় এবং স্ন্যাপশট নির্ভরতা উপস্থিত থাকলে ম্যাভেন রিলিজ প্লাগইন ব্যর্থ হবে।
আরক্রস

2
আমি mvn installআমার স্থানীয় রেপোতে 1.0-SNAPSHOT সংস্করণের একটি জার ইনস্টল করতে দৌড়েছি । পরের দিন আমি প্রকল্পে পরিবর্তন করেছিলাম কিন্তু সংস্করণটি পরিবর্তন mvn installকরি নি - তখন এটি যখন চালানো হয় তখন আমার স্থানীয় রেপোতে এটি পরিবর্তন হয় না বলে মনে হয়। এটা কি প্রত্যাশিত আচরণ? আমি কি কোনও সংস্করণ পুনরায় ব্যবহার করতে এবং এটিতে mvn installপরিবর্তন করার পরে এটি ওভাররাইট করতে পারি না?
ডন চ্যাডেল

1
@ মিমক্রাই আফাইক এটি আপডেট করা উচিত। স্থানীয় SNAPSHOT জারগুলি আপডেট করে, লক্ষ্য কী ইনস্টল করে তা তা জানায়। আপনি অন্য কিছু আবিষ্কার করেছেন?
জনি

73

"SNAPSHOT" শব্দটির অর্থ বিল্ডটি একটি নির্দিষ্ট সময়ে আপনার কোডের একটি স্ন্যাপশট।

এর অর্থ সাধারণত যে এই সংস্করণটি এখনও ভারী বিকাশের মধ্যে রয়েছে।

কোডটি প্রস্তুত হয়ে গেলে এবং এটি প্রকাশের সময় হলে আপনি পিওএম-এ তালিকাভুক্ত সংস্করণটি পরিবর্তন করতে চান। তারপরে "SNAPSHOT" না হয়ে আপনি "1.0" এর মতো লেবেল ব্যবহার করবেন।

ভার্সন সঙ্গে কিছু সাহায্যের জন্য, চেক আউট শব্দার্থিক ভারশনিং স্পেসিফিকেশন


নিরিখে শব্দার্থিক সংস্করণ , একটি -SNAPSHOT রিলিজে একটি প্রাক রিলিজ হবে: " রিলিজ প্রাক সংস্করণ ইঙ্গিত সংস্করণ অস্থির এবং এর সাথে সংশ্লিষ্ট অন্যান্য স্বাভাবিক সংস্করণ দ্বারা প্রকাশ অভিপ্রেত সামঞ্জস্য প্রয়োজনীয়তা সন্তুষ্ট করতে পারে যে উদাহরণ:। 1.0.0 -alpha, 1.0.0-alpha.1, 1.0.0-0.3.3, 1.0.0-x.7.z.92। "
আভান্ডারসন

3
আমার কাছে মনে হচ্ছে "SNAPSHOT" "একটি নির্দিষ্ট সময়ে আপনার কোডের স্ন্যাপশট" নয় বরং "উপলব্ধ কোডটির সর্বশেষতম বিল্ড"। এটি যদি এইচটিটিপি হয় তবে এটি পতাকাটি বলে যে "হেড করায় বিরক্ত করবেন না, যাইহোক সার্ভারে যা আছে তা পান"। প্রকৃতপক্ষে, এটি একটি "নির্দিষ্ট সময়ে কোড" এর প্রায় বিপরীত।
লিল্বিডি

"ভারী" উন্নয়ন কী?
জোকার

1
@ জোকার "ভারী" হ'ল যখন প্রচুর জিনিস পরিবর্তন হয় (নতুন বৈশিষ্ট্য, রিফ্যাক্টরিং ইত্যাদি)
রবার্ট

28

একটি "রিলিজ" হ'ল এমন কোনও সংস্করণের চূড়ান্ত বিল্ড যা পরিবর্তন হয় না।

একটি "স্ন্যাপশট" এমন একটি বিল্ড যা অন্য বিল্ড দ্বারা প্রতিস্থাপিত হতে পারে যার একই নাম রয়েছে। এটি সূচিত করে যে বিল্ডটি যে কোনও সময় পরিবর্তিত হতে পারে এবং এখনও সক্রিয় বিকাশের অধীনে রয়েছে।

আপনার কাছে একই কোডের উপর ভিত্তি করে বিভিন্ন বিল্ডের জন্য বিভিন্ন শিল্পকর্ম রয়েছে। যেমন আপনার একটি ডিবাগিং এবং একটি ছাড়া থাকতে পারে। জাভা 5.0 এর জন্য একটি এবং জাভা 6 এর জন্য একটি সাধারণভাবে এটির বিল্ড থাকা সহজতর যা আপনার প্রয়োজনীয় সমস্ত কাজ করে। ;)


21

ম্যাভেন সংস্করণগুলিতে একটি প্রকল্প বর্তমানে সক্রিয় বিকাশের অধীনে রয়েছে তা বোঝাতে স্ট্রিং আক্ষরিক "SNAPSHOT" থাকতে পারে।

উদাহরণস্বরূপ, যদি আপনার প্রকল্পের "1.0-SNAPSHOT" সংস্করণ থাকে এবং আপনি এই প্রকল্পের শিল্পকর্মগুলি একটি মাভেন সংগ্রহস্থলে স্থাপন করেন, মাভেন এই সংস্করণটি "1.0-20080207-230803-1" এ প্রসারিত করবেন যদি আপনি 11-এ একটি প্রকাশ প্রকাশ করেন তবে : 8 ফেব্রুয়ারী, 2008 সকাল 8 টা ইউটিসি। অন্য কথায়, আপনি যখন স্ন্যাপশট স্থাপন করেন, আপনি কোনও সফ্টওয়্যার উপাদান প্রকাশ করতে পারবেন না; আপনি একটি নির্দিষ্ট সময়ে কোনও উপাদানটির স্ন্যাপশট প্রকাশ করছেন।

সুতরাং স্ন্যাপশট সংস্করণগুলি সক্রিয় বিকাশের অধীনে প্রকল্পগুলির জন্য ব্যবহৃত হয়। যদি আপনার প্রকল্পটি সক্রিয় বিকাশের অধীনে থাকা কোনও সফ্টওয়্যার উপাদানটির উপর নির্ভর করে তবে আপনি কোনও স্ন্যাপশট প্রকাশের উপর নির্ভর করতে পারেন এবং আপনি যখন কোনও বিল্ড পরিচালনা করেন তখন মাভেন পর্যায়ক্রমে একটি সংগ্রহস্থল থেকে সর্বশেষতম স্ন্যাপশটটি ডাউনলোড করার চেষ্টা করবেন। একইভাবে, যদি আপনার সিস্টেমের পরবর্তী প্রকাশটি একটি সংস্করণ "1.8" করতে চলেছে তবে আনুষ্ঠানিকভাবে প্রকাশ না হওয়া পর্যন্ত আপনার প্রকল্পের একটি "1.8-এসএনএপশট" সংস্করণ থাকবে।

উদাহরণস্বরূপ, নিম্নলিখিত নির্ভরতা সর্বদা বসন্তের সর্বশেষ 1.8 বিকাশ জেআর ডাউনলোড করবে:

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

ম্যাভেন

ম্যাভেন রিলিজ প্রক্রিয়াটির একটি উদাহরণ

এখানে চিত্র বর্ণনা লিখুন


6

আমি পরিভাষা সম্পর্কে একটি বিষয় বলতে চাই। অন্যান্য উত্তরগুলি মাভেনের প্রসঙ্গে "স্ন্যাপশট" সংস্করণটি কী তা সম্পর্কে ভাল ব্যাখ্যা দিয়েছে। তবে এটি কি অনুসরণ করে যে কোনও নন-স্ন্যাপশট সংস্করণকে একটি "রিলিজ" সংস্করণ বলা উচিত?

একটি "রিলিজ" সংস্করণটির অর্থগত সংস্করণ ধারণার মধ্যে কিছুটা উত্তেজনা রয়েছে, এটি এমন কোনও সংস্করণ বলে মনে হয় যার একটি বাছাইকারী যেমন নেই -SNAPSHOTতবে কোয়ালিফায়ার যেমন নেই -beta.4; এবং মাভেনের একটি "রিলিজ" সংস্করণ সম্পর্কিত ধারণা, যা কেবলমাত্র অনুপস্থিতির অন্তর্ভুক্ত বলে মনে হয় -SNAPSHOT

অন্য কথায়, "মুক্তি" এর অর্থ "আমরা এটিকে ম্যাভেন সেন্ট্রালে প্রকাশ করতে পারি" বা "সফ্টওয়্যারটি সর্বসাধারণের কাছে চূড়ান্ত প্রকাশে রয়েছে" কিনা এর একটি অর্থপূর্ণ অস্পষ্টতা রয়েছে। আমরা -beta.4যদি এটি জনসাধারণের কাছে প্রকাশ করি তবে আমরা একটি "রিলিজ" সংস্করণ হিসাবে বিবেচনা করতে পারি, তবে এটি কোনও "চূড়ান্ত প্রকাশ" নয়। অর্থপূর্ণ সংস্করণটি স্পষ্টভাবে বলেছে যে এর মতো -beta.4কিছু একটি "প্রাক-রিলিজ" সংস্করণ, সুতরাং এটি "রিলিজ" সংস্করণ বলা ছাড়া কোনও অর্থই হবে না -SNAPSHOT। প্রকৃতপক্ষে সংজ্ঞা অনুসারে -rc.5প্রকাশের প্রার্থী , প্রকৃত প্রকাশ নয়, যদিও আমরা পরীক্ষার জন্য জনসাধারণের অ্যাক্সেসের অনুমতি দিতে পারি।

মাভেন তবুও, আমার মতে এটি কেবলমাত্র একটি "রিলিজ" সংস্করণ কল করা আরও উপযুক্ত বলে মনে হয় যার কোনও যোগ্যতা নেই, এমনকি নয় -beta.4। ম্যাভেন নন-স্ন্যাপশট সংস্করণের জন্য সম্ভবত আরও ভাল নামটি একটি "স্থিতিশীল" সংস্করণ হবে ( অন্য উত্তর দ্বারা অনুপ্রাণিত )। এইভাবে আমাদের হবে:

  • 1.2.3-beta.4-SNAPSHOT: প্রাক-প্রকাশ সংস্করণের একটি স্ন্যাপশট সংস্করণ।
  • 1.2.3-SNAPSHOT: একটি রিলিজ সংস্করণের একটি স্ন্যাপশট সংস্করণ।
  • 1.2.3-beta.4: প্রাক-প্রকাশের সংস্করণটির একটি স্থিতিশীল সংস্করণ।
  • 1.2.3: একটি প্রকাশ সংস্করণ (যা অবশ্যই একটি স্থিতিশীল, স্ন্যাপশট সংস্করণ) is

মেভেনটা কীভাবে বিল্ড মেটাটাটা বা প্রাক-প্রকাশের নামকরণ কনভেনশনগুলির সাথে ডিল করে তা সম্পর্কে আপনার কোনও তথ্য আছে? মানে আমরা সবাই জানি আলফা বিটার আগে, কিন্তু ম্যাভেন কি জানে? এমনকি এটি স্থিতিশীল রিলিজ হিসাবে 1.2.3-বিটা.4 গ্রহণ করলেও, এটি কি কমপক্ষে জানতে পারে যে এর পরে 1.2.3 রয়েছে?
ডিজিওকো

5

এটি কোনও স্ন্যাপশট একটি সংগ্রহস্থলের জন্য দেখতে কেমন লাগে এবং এই ক্ষেত্রে সক্ষম হয় না, যার অর্থ এখানে উল্লিখিত সংগ্রহস্থল স্থিতিশীল এবং আপডেটের প্রয়োজন নেই।

<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>

যার অর্থ মাভেন এই সংগ্রহস্থলের জন্য আপডেটগুলি সন্ধান করবে। আপনি ট্যাগ সহ আপডেটগুলির জন্য একটি বিরতিও নির্দিষ্ট করতে পারেন।


5

সাধারণত মেভেনে আমাদের দুই ধরণের বিল্ড থাকে 1) স্ন্যাপশট বিল্ড 2) রিলিজ বিল্ডগুলি

  1. স্ন্যাপশট বিল্ডগুলি: এসএনএপশট হ'ল একটি বিশেষ সংস্করণ যা বর্তমান ডিপ্লোয়মেন্ট কপিটি নিয়মিত সংস্করণের মতো নয় তা নির্দেশ করে, ম্যাভেন দূরবর্তী সংগ্রহস্থলের প্রতিটি বিল্ডের জন্য সংস্করণটি পরীক্ষা করে তাই স্ন্যাপশট বিল্ডগুলি উন্নয়ন বিল্ড ছাড়া কিছুই নয়।

  2. রিলিজ বিল্ডস: রিলিজের অর্থ বিল্ডের সংস্করণে এসএনএপএসএইচটি সরানো, এগুলি নিয়মিত বিল্ড সংস্করণ।


3

কেবল স্ন্যাপশটের অর্থ এটি স্থিতিশীল নয় এমন সংস্করণ।

সংস্করণে 1.0.0 -SNAPSHOT এর মতো স্ন্যাপশট অন্তর্ভুক্ত করার অর্থ এটি স্থিতিশীল সংস্করণ নয় এবং নির্ভরতা সমাধানের জন্য দূরবর্তী সংগ্রহস্থলের সন্ধান করুন


1

এসডিএলসির প্রসঙ্গটি বুঝতে স্ন্যাপশট এবং প্রকাশের মধ্যে পার্থক্য বুঝতে সহায়তা করবে। ডেভ প্রক্রিয়া চলাকালীন বিকাশকারীরা সমস্ত তাদের বৈশিষ্ট্যগুলি একটি বেসলাইন শাখায় অবদান রাখেন। কিছু সময় সীসা ভাবেন যে পর্যাপ্ত বৈশিষ্ট্যগুলি জমেছে তখন তিনি বেসলাইন শাখা থেকে একটি রিলিজ শাখা কাটবেন। এই সময় পয়েন্টের আগে যে কোনও বিল্ড হ'ল স্ন্যাপশট। এই পয়েন্টে পোস্ট তৈরি করে রিলিজ। উল্লেখ্য, রিলিজ পরীক্ষার সময় কোনও ত্রুটিযুক্ত স্পট থাকলে প্রযোজনায় যাওয়ার আগে রিলিজ বিল্ডগুলি খুব পরিবর্তন হতে পারে।


1

স্ন্যাপশটটি কেবল আপনার কনফিগারেশনের উপর নির্ভর করে মাভেন একটি বিশেষ নির্ভরতার উপর সর্বশেষ পরিবর্তনগুলি পরীক্ষা করবে। স্ন্যাপশটটি অস্থির কারণ এটি বিকাশাধীন তবে কোনও বিশেষ প্রকল্পে যদি সর্বশেষ পরিবর্তন করতে হয় তবে আপনাকে অবশ্যই আপনার নির্ভরতা সংস্করণটি স্ন্যাপশটের সংস্করণে কনফিগার করতে হবে। এই দৃশ্যগুলি একাধিক পণ্য সহ বড় সংস্থাগুলিতে ঘটে থাকে যা এই পণ্যগুলি একে অপরের সাথে সম্পর্কিত।


0

নামটি যেমন বোঝায়, স্ন্যাপশট প্রকল্পের একটি অবস্থা এবং সেই সময়ের সেই মুহূর্তে এর নির্ভরতা বোঝায়। মভেন যখনই প্রকল্পটির একটি নতুন এসএনএপএসএইচটি খুঁজে পান, এটি স্থানীয় সংগ্রহস্থলে প্রকল্পের পুরানো .jar ফাইলটি ডাউনলোড করে প্রতিস্থাপন করে।

স্ন্যাপশট সংস্করণ সক্রিয় বিকাশের অধীনে প্রকল্পগুলির জন্য ব্যবহৃত হয়। যদি আপনার প্রকল্পটি সক্রিয় বিকাশের অধীনে থাকা কোনও সফ্টওয়্যার উপাদানটির উপর নির্ভর করে তবে আপনি একটি স্ন্যাপশট মুক্তির উপর নির্ভর করতে পারেন এবং আপনি যখন কোনও বিল্ড পরিচালনা করেন তখন মাভেন পর্যায়ক্রমে একটি সংগ্রহস্থল থেকে সর্বশেষতম স্ন্যাপশট ডাউনলোড করার চেষ্টা করবেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.