ম্যাভেন টিউটোরিয়াল: শুরু করার জন্য আপনার যা জানা দরকার তা সমস্ত

মাভেন টিউটোরিয়ালের এই ব্লগটি আপনার প্রকল্পগুলি তৈরির জন্য মাভেনের সাথে শুরু করার জন্য আপনার প্রয়োজনীয় সমস্ত কিছুকে কভার করে।

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

মাভেন টিউটোরিয়ালের এই ব্লগে, আমরা নিম্নলিখিত বিষয়গুলি কভার করব:



  1. আমাদের মাভেনের দরকার কেন?
  2. মাভেন কী?
  3. মাভেন আর্কিটেকচার
  4. Maven জীবন চক্র, পর্যায়ক্রমে এবং লক্ষ্য
  5. ডেমো প্রকল্প।

আমাদের মাভেনের দরকার কেন?

আপনি যদি জাভা প্রকল্পগুলিতে কাজ করে থাকেন তবে বেশিরভাগ সময় আপনার নির্ভরতা প্রয়োজন। নির্ভরতা লাইব্রেরি বা জেআর ফাইল ছাড়া কিছুই নয়। আপনাকে সেগুলি ম্যানুয়ালি ডাউনলোড এবং সংযুক্ত করতে হবে। এছাড়াও, আপনার প্রকল্পের জন্য সফ্টওয়্যার স্ট্যাকটি আপগ্রেড করার কাজটি ম্যাভেনের আগে ম্যানুয়ালি করা হয়েছিল। সুতরাং আরও উন্নত সরঞ্জামের প্রয়োজন ছিল যা এই জাতীয় সমস্যাগুলি পরিচালনা করতে পারে।



এই যেখানে মাভেন ছবিতে আসে। ম্যাভেন নির্ভরতা সম্পর্কিত আপনার সমস্ত সমস্যার সমাধান করতে পারে। আপনাকে কেবল মাভেন এবং মাভেনের পম.এক্সএমএল ফাইলে নির্ভরতা এবং সফ্টওয়্যার সংস্করণ নির্দিষ্ট করতে হবে বাকীগুলি যত্ন নেবে।সুতরাং এখন আসুন আমরা মাভেন কী তা বোঝার চেষ্টা করি।

মাভেন কী?

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



  • এটি সফ্টওয়্যার কীভাবে তৈরি তা বর্ণনা করে
  • এটি নির্ভরতা বর্ণনা করে।

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

প্রজেক্ট অবজেক্ট মডেল (পিওএম) ফাইলটি একটি এক্সএমএল ফাইল যা প্রকল্পের সাথে সম্পর্কিত তথ্য এবং কনফিগারেশন সম্পর্কিত তথ্য যেমন নির্ভরতা, উত্স ডিরেক্টরি, প্লাগইন, লক্ষ্য ইত্যাদি মাভেন দ্বারা প্রকল্পটি নির্মাণে ব্যবহৃত হয় contains আপনি যখন কোনও ম্যাভেন কমান্ড কার্যকর করেন আপনি কমান্ডগুলি কার্যকর করার জন্য মভেনকে একটি POM ফাইল দেন। মাভেন এর কনফিগারেশন এবং ক্রিয়াকলাপ সম্পাদন করতে pom.xML ফাইলটি পড়ে reads

ডেটা বিমূর্তি সি ++

ম্যাভেন উদ্দেশ্য

ম্যাভেন উদ্দেশ্য

কেউ কখন মাভেন ব্যবহার করা উচিত?

    1. যদি প্রকল্পের জন্য অনেক বেশি নির্ভরশীলতা থাকে।
    2. যখন নির্ভরতা সংস্করণ ঘন ঘন আপডেট হয়।
    3. ক্রমাগত বিল্ডস, সংহতকরণ এবং পরীক্ষাগুলি মাভেন ব্যবহার করে সহজেই পরিচালনা করা যায়।
    4. সোর্স কোডটি সংকলন করে, জেআর ফাইলগুলি বা জিপ ফাইলগুলিতে প্যাকেজিং সংকলিত কোডটি উত্স কোড থেকে ডকুমেন্টেশন উত্পন্ন করার জন্য যখন কোনও প্রয়োজন হয়।

মাভেন আর্কিটেকচার

Maven জীবন চক্র, পর্যায়ক্রমে এবং লক্ষ্য

1. Maven জীবন চক্র



একটি নির্দিষ্ট জীবনচক্র রয়েছে যা মাভেন লক্ষ্য প্রকল্পটি স্থাপন এবং বিতরণ করতে অনুসরণ করে।

তিনটি অন্তর্নির্মিত জীবন চক্র রয়েছে:

  • ডিফল্ট - এটি মাভেনের মূল জীবনচক্র কারণ এটি প্রকল্প স্থাপনার জন্য দায়ী।
  • পরিষ্কার - এই জীবনচক্রটি প্রকল্পটি পরিষ্কার করতে এবং পূর্ববর্তী বিল্ড দ্বারা উত্পন্ন সমস্ত ফাইল সরানোর জন্য ব্যবহৃত হয়।
  • সাইট - এই জীবনচক্রের লক্ষ্য হ'ল প্রকল্পের সাইটের ডকুমেন্টেশন তৈরি করা।

প্রতিটি জীবনচক্র পর্যায়ক্রমে একটি ক্রম নিয়ে গঠিত। এটি মাভেনের প্রধান বিল্ড লাইফ চক্র হওয়ায় ডিফল্ট বিল্ড লাইফ চক্রটি 23 টি পর্যায় নিয়ে গঠিত

অন্যদিকে, পরিষ্কার জীবনচক্রটি 3 টি পর্যায় নিয়ে গঠিত, অন্যদিকে সাইট লাইফ চক্রটি 4 টি পর্যায় নিয়ে গঠিত।

2. মাভেন পর্বসমূহ

লিঙ্কযুক্ত তালিকা গ

এক মাভেন ফেজ ম্যাভেন বিল্ড লাইফ চক্রের একটি মঞ্চ ছাড়া কিছুই নয়। প্রতিটি পর্যায় একটি নির্দিষ্ট কাজ সম্পাদন করে।

এখানে ডিফল্ট বিল্ড লাইফ চক্রের কয়েকটি গুরুত্বপূর্ণ পর্যায় রয়েছে -

  • বৈধ করা - এই পর্যায়ে চেক করে তোলে যে বিল্ডের জন্য প্রয়োজনীয় সমস্ত তথ্য উপলব্ধ রয়েছে
  • সংকলন - এই ধাপটি উত্স কোডটি সংকলন করে
  • পরীক্ষা-সংকলন - এই ধাপটি পরীক্ষার উত্স কোডটি সংকলন করে
  • পরীক্ষা - এই পর্ব ইউনিট পরীক্ষা চালায়
  • প্যাকেজ - এই পর্বের প্যাকেজগুলি বিতরণযোগ্য বিন্যাসে উত্স কোডটি সংকলন করেছে (জার, যুদ্ধ)
  • ইন্টিগ্রেশন পরীক্ষা - ইন্টিগ্রেশন পরীক্ষা চালানোর প্রয়োজন হলে এই পর্বটি প্যাকেজটি প্রক্রিয়া করে এবং স্থাপন করে
  • ইনস্টল - এই ধাপটি স্থানীয় সংগ্রহস্থলে প্যাকেজ ইনস্টল করে
  • স্থাপন করা - এই পর্বটি প্যাকেজটি দূরবর্তী সংগ্রহস্থলে অনুলিপি করে

মাভেন একটি নির্দিষ্ট ক্রমে পর্যায়গুলি সম্পাদন করে। এর অর্থ হ'ল আমরা যদি mvn এর মতো কমান্ড ব্যবহার করে একটি নির্দিষ্ট পর্ব পরিচালনা করি তবে এটি কেবলমাত্র নির্দিষ্ট পর্বটি চালিত করবে না তবে পূর্ববর্তী সমস্ত পর্যায়গুলিও কার্যকর করবে।

উদাহরণস্বরূপ, আপনি যদি mvn স্থাপনা কমান্ডটি চালনা করেন, অর্থাৎ ডিফল্ট বিল্ড লাইফ চক্রের শেষ পর্বটি মোতায়েনের পর্বটি স্থাপন করা হয়, তবে এটি স্থাপনার পর্বের আগে সমস্ত পর্যায়ও কার্যকর করবে।

৩. মাভেন গোল

লক্ষ্যগুলির ক্রম একটি পর্যায় গঠন করে এবং প্রতিটি লক্ষ্য একটি নির্দিষ্ট কাজ সম্পাদন করে। আপনি যখন কোনও পর্ব চালান, তারপরে মাভেন সেই লক্ষ্যটির সাথে সম্পর্কিত একটি ক্রমে সমস্ত লক্ষ্য সম্পাদন করে। ব্যবহৃত সিনট্যাক্সটি হ'ল প্লাগইন: লক্ষ্য। কয়েকটি ধাপ এবং তাদের কাছে আবদ্ধ ডিফল্ট লক্ষ্যগুলি নিম্নরূপ:

  • সংকলক: সংকলন - সংকলন পর্ব
  • সংকলক: পরীক্ষা - পরীক্ষা-সংকলন পর্ব
  • surefire: পরীক্ষা - পরীক্ষা পর্ব
  • ইনস্টল: ইনস্টল - পর্ব ইনস্টল
  • জার এবং যুদ্ধ: যুদ্ধ - প্যাকেজ পর্ব

একটি ম্যাভেন প্লাগইন লক্ষ্যগুলির একটি গ্রুপ। যাইহোক, এই লক্ষ্যগুলি অগত্যা সমস্ত একই ধাপে আবদ্ধ।উদাহরণস্বরূপ, মাভেন ফেইলসেফ প্লাগইন যা ইন্টিগ্রেশন পরীক্ষা চালানোর জন্য দায়ী। ইউনিট পরীক্ষার জন্য আপনার ম্যাভেন শিফারফায়ার প্লাগইন দরকার।

ডেমো প্রকল্প

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

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

সুতরাং এই প্রকল্পের জন্য আপনার প্রয়োজন , মাভেন এবং অ্যাকলিপস আপনার সিস্টেমে ডাউনলোড হয়েছে। আমি আমার সিস্টেমে যে সংস্করণগুলি ব্যবহার করছি সেগুলি নিম্নরূপ -

  1. গ্রহন - এন্টারপ্রাইজ সংস্করণ সংস্করণ 4.12.0 (2019-06)
  2. জাভা - সংস্করণ 1.8.0_211
  3. মাভেন - সংস্করণ 3.6.1
  • এগুলি ছাড়াও আপনাকে Eclipse এর জন্য TestNG প্লাগইন ডাউনলোড করতে হবে এবং নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করে আপনি এটি ডাউনলোড করতে পারেন -
    • Elpipse খুলুন এবং সহায়তাতে যান। সাহায্যে Eclipse মার্কেটপ্লেসে ক্লিক করুন।
    • ফাইন্ড বক্সে টেস্টএনজি টাইপ করুন এবং Go এ ক্লিক করুন। ফলাফলগুলিতে, আপনি 'গ্রহণের জন্য টেস্টএনজি 'দেখতে পাবেন। আপনার এটি ডাউনলোড করা দরকার।
  • উপরে বর্ণিত জিনিসগুলি সহ আপনি আপনার সিস্টেম সেট আপ করার পরে আপনি মাভেন ব্যবহার করে একটি ডেমো প্রকল্প তৈরির জন্য প্রস্তুত all সুতরাং এখন আমি আপনাকে এটি করতে প্রয়োজনীয় সমস্ত পদক্ষেপগুলি বলব।
    • Eclipse এ, ফাইল -> নতুন -> মাভেন প্রকল্পে ক্লিক করুন।
    • একটি সাধারণ প্রকল্প তৈরি করতে ক্লিক করুন (প্রত্নতাত্ত্বিক নির্বাচন বাদ দিন) এবং তারপরে পরবর্তী ক্লিক করুন।
  • এখন আপনি গ্রুপ আইডির মতো পরামিতিগুলির সাথে একটি উইন্ডো দেখতে পাবেন, আর্টিফ্যাক্ট আইডি এবং আরও অনেক কিছু।
    • গ্রুপ আইডি এমন একটি গ্রুপের অনন্য আইডি যা এই প্রকল্পের মালিক।
    • আর্টিফ্যাক্ট আইডি চূড়ান্ত সংকলনের ইউনিটের নাম।
    • সংস্করণ হ'ল তৈরি শিল্পকর্মের সংস্করণ। SNAPSHOT কাজ অগ্রগতিতে ইঙ্গিত করে।
    • আপনার প্রকল্পের উপর নির্ভর করে প্যাকেজিং জার, যুদ্ধ বা পম হতে পারে। আমাদের প্রকল্পের জন্য, আমরা জারটি নির্বাচন করব। তারপরে আপনার প্রকল্পের নাম দিন।

  • একবার আপনি প্রকল্পটি তৈরি করেন তবে আপনি আপনার মাভেন প্রকল্পের প্রকল্প কাঠামো দেখতে পাবেন। এখানে আপনি নিম্নলিখিত জিনিসগুলি দেখতে পারেন -
    • pom.xML
    • src এবং লক্ষ্য
    • src / main / java
    • src / test / java
    • মাভেন নির্ভরতা
  • এখন এসসিআর / মেইন / টেস্টে একটি ক্লাস ফাইল তৈরি করুন এবং এটি ডেমো ক্লাসের নাম দিন। এই শ্রেণিতে সেলেনিয়াম কোড রয়েছে যা আমরা পরীক্ষার জন্য ব্যবহার করছি। এখন আমরা সেলেনিয়াম, টেস্টএনজি নির্ভরতা এবং মাভেন সংকলক এবং শিয়ারফায়ার প্লাগইনকে pom.xML ফাইলে যুক্ত করেছি। ডেমো ক্লাস এবং pom.xML এর জন্য কোডটি নীচে দেওয়া হয়েছে:
প্যাকেজ maven.selenium.testng আমদানি org.openqa.selenium.WebDriver আমদানি org.openqa.selenium.chrome.ChromeDriver আমদানি org.testng.annotations.Test পাবলিক ক্লাস ডেমো ক্লাস T @ সর্বজনীন শূন্য পরীক্ষা () বিঘ্নিত এক্সপ্রেশন th // নিক্ষেপ এবং অবজেক্টস / ভেরিয়েবলগুলির ইনস্ট্যান্টেশন // সিস্টেমে.সেটপ্রোপারটি('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // ওয়েবড্রাইভার ড্রাইভার = নতুন ফায়ারফক্সড্রাইভার () // উপরোক্ত 2 লাইনগুলিকে মন্তব্য করুন এবং 2-এর নীচে অসুবিধা করুন Chrome সিস্টেম.setProperty ('ওয়েবড্রাইভার.ক্রোম.ড্রাইভার', 'সি: ব্যবহারকারীআরবাইন্ড ফুলারডেস্কটপক্রোমড্রাইভার.এক্সে') ওয়েবড্রাইভার ড্রাইভার = নতুন ক্রোমড্রাইভার () স্ট্রিং বেসউড়ল = 'http://newtours.demoaut.com/' স্ট্রিং প্রত্যাশিত শিরোনাম = 'ওয়েলকাম: বুধ ট্যুরস' স্ট্রিং রিয়েলটাইট টাইটেল = '' // ফায়ার শিয়াল প্রবর্তন করুন এবং এটি বেস ইউআরএল ড্রাইভারের উপর পরিচালনা করুন। (বেসউরল) // শিরোনামের আসল মান পাবেন আসল টাইটেল = ড্রাইভার.getTitle () থ্রেড.স্লিপ (3000 ) / * * পৃষ্ঠার আসল শিরোনামটি প্রত্যাশিত শিরোনামের সাথে তুলনা করুন এবং ফলাফলটিকে 'পাস' বা 'ব্যর্থ' হিসাবে মুদ্রণ করুন * / যদি (আসল টাইটেল। কনটেন্টইকুয়ালস (প্রত্যাশিত শিরোনাম)) {System.out.println ('পরীক্ষায় উত্তীর্ণ!')} অন্য {System.out.println ('পরীক্ষা ব্যর্থ হয়েছে')} // ফায়ার ফক্স ড্রাইভার.ক্লোজ () বন্ধ করুন)
.0.০.০ maven.selenium maven.selenium.testng 0.0.1-SNAPSHOT EdurekaDemo 2.53.1 6.9.10 org.apache.maven.plugins maven-compiler-login 1.8 1.8 org.apache.maven.plugins maven-surefire-Plus 2.18 .1 testng.xML org.seleniumhq.selenium সেলেনিয়াম-জাভা 3.141.59 org.testng টেস্টং 6.14.3 পরীক্ষা
  • প্রকল্পটি চালনার আগে আমাদের ক্লাস ফাইল ডেমো ক্লাসকে একটি টেস্টএনজি ফাইলে রূপান্তর করতে হবে। এটি করার জন্য ডেমোক্লাস -> টেস্টএনজি -> টেস্টএনজি তে রূপান্তর করুন।

  • এখন প্রকল্পটি চালাতে, একটি প্রকল্পে ডান ক্লিক করুন -> চালান হিসাবে -> ম্যাভেন ক্লিন। এটি পূর্ববর্তী সমস্ত বিল্ডগুলি সরিয়ে প্রকল্পটি সাফ করবে।

  • মাভেন ক্লিন হওয়ার পরে, আপনাকে প্রকল্পটি পরীক্ষা করা দরকার যেহেতু আমরা ওয়েব অ্যাপ্লিকেশন পরীক্ষার জন্য কোড লিখেছি। সুতরাং প্রকল্পে ডান ক্লিক করুন -> হিসাবে চালান -> মাভেন পরীক্ষা। এটি ওয়েবসাইটটি খুলবে এবং ওয়েবসাইটের শিরোনামের সাথে মিলবে। যদি এটি মেলে তবে আমাদের পরীক্ষার কেস পাস হবে।

    জাভা অ্যারে বস্তুর উদাহরণ
  • আমরা কমান্ড প্রম্পট ব্যবহার করে উপরের কমান্ডগুলি সম্পাদন করতে পারি। তার জন্য, আমাদের pom.xML ফাইলের পথ প্রয়োজন।

    • আপনি pom.xML ফাইল -> বৈশিষ্ট্য -> অবস্থানের উপর ডান ক্লিক করে পাথটি পেতে পারেন।
    • পাথটি অনুলিপি করুন, তারপরে একটি কমান্ড প্রম্পট খুলুন এবং সেখানে সিডি ব্যবহার করে এটি আটকে দিন। সিডি সি: / ব্যবহারকারী / অরবিন্দ ফুলারে / গ্রহন-কর্মক্ষেত্র / maven.selenium.testng।
    • একবার আপনি এটি করার পরে, আপনি আবার ম্যাভেন কমান্ডগুলি এমভিএন ক্লিন এবং এমভিএন পরীক্ষার মতো টাইপ করতে পারেন।

মাভেন টিউটোরিয়ালের এই ব্লগে এটি আমার পক্ষ থেকে। আমি আশা করি আমরা এই ম্যাভেন টিউটোরিয়ালে যে বিষয়গুলি নিয়ে আলোচনা করেছি সেগুলি আপনি বুঝতে পেরেছেন।

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

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই মাভেন টিউটোরিয়ালের মন্তব্য বিভাগে এটি উল্লেখ করুন এবং আমরা আপনার কাছে ফিরে আসব