CodeGym /Java Blog /এলোমেলো /পার্ট 4. মাভেনের মূল বিষয়
John Squirrels
লেভেল 41
San Francisco

পার্ট 4. মাভেনের মূল বিষয়

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

Maven এর ধাপে ধাপে ইনস্টলেশন

  1. প্রথমত, আমাদের Maven ইনস্টল করতে হবে। এই লিঙ্ক থেকে এটি ডাউনলোড করুন .

  2. এরপরে, ডাউনলোড করা আর্কাইভটি আনজিপ করুন এবং আনজিপ করা আর্কাইভের অবস্থানে M2_HOME এনভায়রনমেন্ট ভেরিয়েবল সেট করুন। উদাহরণস্বরূপ, C:\\Program Files\\maven\\

  3. সবকিছু ইনস্টল করা আছে তা নিশ্চিত করতে, কমান্ড লাইনে নিম্নলিখিতটি চালান:

    mvn-সংস্করণ

  4. যদি Maven, Java, ইত্যাদির জন্য সংস্করণ তথ্য প্রদর্শিত হয়, তাহলে সবকিছু যেতে প্রস্তুত।

  5. এখন IntelliJ IDEA খুলুন এবং একটি নতুন প্রকল্প তৈরি করুন। প্রথম উইন্ডোতে, Maven নির্বাচন করুন:

    পর্ব 4. মাভেনের মূল বিষয়গুলি - 2
  6. "পরবর্তী" ক্লিক করুন এবং প্রদর্শিত উইন্ডোটি পূরণ করুন:

    পর্ব 4. মাভেনের মূল বিষয়গুলি - 3
  7. তারপর, যথারীতি, আপনি যেখানে চান সেখানে একটি প্রকল্প তৈরি করুন।

    প্রকল্পটি তৈরি হওয়ার পরে, এর গঠনটি নোট করুন:

    পর্ব 4. মাভেনের মূল বিষয়গুলি - 4
এটি একটি Maven প্রকল্পের আদর্শ কাঠামো :
  • src /main/java ফোল্ডারে জাভা ক্লাস রয়েছে
  • src /main/resources ফোল্ডারে অ্যাপ্লিকেশন দ্বারা ব্যবহৃত সম্পদ রয়েছে (HTML পৃষ্ঠা, ছবি, স্টাইল শীট ইত্যাদি)
  • src /test ফোল্ডারটি পরীক্ষার জন্য
এছাড়াও pom.xml নামক ফাইলে মনোযোগ দিন । এটি Maven পরিচালনার জন্য প্রধান ফাইল । সম্পূর্ণ প্রকল্পের বিবরণ এখানে রয়েছে। এই মুহূর্তে খুব বেশি তথ্য নেই, তবে আমরা এখন এটি যোগ করব।

মাভেনে নির্ভরতা পরিচালনা করা

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

নির্ভরতাগুলি pom.xml ফাইলের নির্ভরতা নোডে নির্দিষ্ট করা হয়

ধরা যাক ফাইলগুলির সাথে কাজ করা সহজ করার জন্য আপনার প্রকল্পে অ্যাপাচি কমন্স আইও লাইব্রেরি প্রয়োজন। একটি লাইব্রেরি যোগ করতে, আমরা pom.xml এ পাঁচটি লাইন লিখি:

<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
এখন আপনার pom.xml ফাইলের মত দেখতে হবে:

  <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
এর পরে, IntelliJ IDEA-কে নির্ভরতা আমদানি করার অনুমতি দিন (একটি ডায়ালগ নীচের ডানদিকে উপস্থিত হওয়া উচিত)। এখন লাইব্রেরি ব্যবহারের জন্য প্রস্তুত:

import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
পরবর্তী সমস্ত নির্ভরতা অবশ্যই ট্যাগের ভিতরে লিখতে হবে <dependencies>। আপনি হয়তো ভাবছেন যে লাইব্রেরির তথ্যটি কীভাবে খুঁজে পাবেন যা আপনাকে <dependency>ট্যাগের ভিতরে নির্দেশ করতে হবে। এটা সহজ. তিনটি পরামিতি সর্বদা সেট করা প্রয়োজন: "groupId", "artifactId" এবং "সংস্করণ"। এই পরামিতি নির্ধারণ করার দুটি উপায় আছে:
  1. লাইব্রেরির ওয়েবসাইটে। যদি আমাদের Apache Commons IO লাইব্রেরির প্রয়োজন হয়, আমরা অফিসিয়াল ওয়েবসাইটে যাই এবং "নির্ভরতা তথ্য" ট্যাবটি নির্বাচন করি। সমস্ত প্রয়োজনীয় তথ্য এখানে রয়েছে - আপনি কেবল এটি অনুলিপি করতে এবং নোডে যুক্ত করতে পারেন <dependencies>

  2. একটি Maven ভাণ্ডার মধ্যে . অনুসন্ধান বারে "apache commons io" লিখুন এবং আপনি লাইব্রেরির সমস্ত উপলব্ধ সংস্করণ দেখতে পাবেন। সঠিকটি নির্বাচন করার পরে, কেবল নিম্নলিখিতটি অনুলিপি করুন:

    
    <dependency>
               <groupId>commons-io</groupId>
               <artifactId>commons-io</artifactId>
               <version>2.6</version>
           </dependency>
    

    এবং আপনার pom.xml এ যোগ করুন।

Maven সংগ্রহস্থলের প্রকার

ম্যাভেন রিপোজিটরির কথা আবার উল্লেখ করা আমাদের পক্ষে সার্থক, কারণ আমাদের কাছে আসলে তাদের দুটি আছে: একটি দূরবর্তী (কেন্দ্রীয়) সংগ্রহস্থল এবং একটি স্থানীয় (আপনার কম্পিউটারে) সংগ্রহস্থল। সমস্ত লাইব্রেরি যা আপনি আপনার প্রকল্পগুলিতে যুক্ত করেন তা স্থানীয় সংগ্রহস্থলে সংরক্ষিত হয়। যখন Maven একটি প্রকল্পে একটি প্রয়োজনীয় নির্ভরতা যোগ করে, এটি প্রথমে লাইব্রেরি স্থানীয় সংগ্রহস্থলে বিদ্যমান কিনা তা পরীক্ষা করে। এটি স্থানীয়ভাবে লাইব্রেরি খুঁজে না পেলেই এটি দূরবর্তী সংগ্রহস্থলে অ্যাক্সেস করে। আপনি দেখতে পাচ্ছেন, আপনি নির্ভরতা যুক্ত করতে মাভেন ব্যবহার করতে পারেন, তবে এটিই করতে পারে না।

Maven ব্যবহার করে একটি জাভা প্রকল্প তৈরি করা

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

পর্যায়গুলি

একটি অ্যাপ্লিকেশন তৈরির প্রক্রিয়াটি একটি মাভেন প্রকল্পের জীবনচক্র হিসাবে পরিচিত, এবং এটি পর্যায়ক্রমে গঠিত। আপনি উপরের ডানদিকের কোণায় Maven > উদাহরণ > লাইফসাইকেল ক্লিক করে আইডিইএতে তাদের দেখতে পারেন: পর্ব 4. মাভেনের মূল বিষয়গুলি - 5আপনি দেখতে পাচ্ছেন, 9টি পর্যায় রয়েছে:
  1. ক্লিন — টার্গেট ডিরেক্টরি থেকে সমস্ত কম্পাইল করা ফাইল মুছে দেয় (সেই জায়গা যেখানে সমাপ্ত শিল্পকর্ম সংরক্ষণ করা হয়)
  2. validate — প্রকল্প নির্মাণের জন্য প্রয়োজনীয় সমস্ত তথ্য উপস্থিত আছে কিনা তা পরীক্ষা করে
  3. কম্পাইল — সোর্স কোড ফাইল কম্পাইল করে
  4. পরীক্ষা - পরীক্ষা শুরু হয়
  5. প্যাকেজ — প্যাকেজ কম্পাইল করা ফাইল (একটি JAR, WAR, ইত্যাদি সংরক্ষণাগারে)
  6. verify — প্যাকেজ করা ফাইল প্রস্তুত কিনা তা পরীক্ষা করে
  7. install — প্যাকেজটিকে স্থানীয় সংগ্রহস্থলে রাখে। এখন এটি একটি বহিরাগত লাইব্রেরি হিসাবে অন্যান্য প্রকল্প দ্বারা ব্যবহার করা যেতে পারে
  8. সাইট - প্রকল্প ডকুমেন্টেশন তৈরি করে
  9. deploy — নির্মিত আর্কাইভকে দূরবর্তী সংগ্রহস্থলে কপি করে
সমস্ত পর্যায় ক্রমানুসারে সঞ্চালিত হয়: উদাহরণস্বরূপ, পর্যায় 1-3 সম্পূর্ণ না হওয়া পর্যন্ত চতুর্থ পর্যায় শুরু করা যাবে না। একটি ফেজ শুরু করার দুটি উপায় আছে:
  • কমান্ড লাইনের মাধ্যমে:

    mvn প্যাকেজ

    পর্ব 4. মাভেনের মূল বিষয়গুলি - 6
  • IntelliJ IDEA ব্যবহার করে:

    পার্ট 4. মাভেনের মূল বিষয়গুলি - 7

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

    mvn পরিষ্কার প্যাকেজ।

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

প্লাগইন

প্রোজেক্টে একটি Maven প্লাগইন যোগ করার জন্য, আমাদের pom.xml ফাইলে এর বিবরণ যোগ করতে হবে, ব্যবহার <build>এবং <plugins>ট্যাগ, যেভাবে আমরা নির্ভরতা যোগ করেছি। উদাহরণস্বরূপ, ধরুন আমরা আমাদের সমস্ত বহিরাগত লাইব্রেরির সর্বশেষ সংস্করণ ব্যবহার করছি তা যাচাই করার জন্য আমাদের একটি প্লাগইন দরকার৷ ইন্টারনেটে কিছুটা অনুসন্ধান করার পরে, আপনি এই প্লাগইনটি এবং এটি কীভাবে ব্যবহার করবেন তার নির্দেশাবলী খুঁজে পেতে পারেন৷ গ্রুপআইডি, আর্টিফ্যাক্টআইডি এবং সংস্করণ সেট করা যাক। প্লাগইনটি কোন লক্ষ্য পূরণ করতে হবে এবং কোন পর্যায়ে তা আমরা নির্দেশ করব। আমাদের ক্ষেত্রে, বর্তমান pom.xml-এ নির্ভরতা পরীক্ষাটি বৈধকরণ পর্বের সময় ঘটতে সেট করা হয়েছে। এখন আমাদের pom.xml ফাইল এই মত দেখায়:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <build>
       <plugins>
           <plugin>
               <groupId>com.soebes.maven.plugins</groupId>
               <artifactId>uptodate-maven-plugin</artifactId>
               <version>0.2.0</version>
               <executions>
                   <execution>
                       <goals>
                           <goal>dependency</goal>
                       </goals>
                       <phase>validate</phase>
                   </execution>
               </executions>
           </plugin>
       </plugins>
   </build>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
আমরা আমাদের প্রকল্পে কাজ চালিয়ে যেতে পারি। তবে আসুন Apache Commons IO এর সংস্করণটি 2.0 এ পরিবর্তন করে প্রকল্পটি তৈরি করার চেষ্টা করি। আমরা পাবো

[ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1]
এখানে আমরা প্লাগইন দ্বারা উত্পন্ন একটি বিল্ড ত্রুটি আছে. ত্রুটি বার্তাটি বলে যে আমরা সংস্করণ 2.0 ব্যবহার করছি যখন সংস্করণ 2.6 উপলব্ধ। মূলত, Maven একটি খুব দরকারী টুল. সম্ভবত এটি প্রথমে ব্যবহার করা কঠিন বলে মনে হবে, তবে অনুশীলন করুন! ম্যাভেন ব্যবহার করে আপনার প্রকল্পগুলি তৈরি করুন এবং কিছুক্ষণ পরে আপনি শেষ ফলাফলে খুব খুশি হবেন। এই নিবন্ধটি ইচ্ছাকৃতভাবে মাভেন সম্পর্কে অনেক বিশদ বাদ দিয়েছে — আমরা সবচেয়ে প্রয়োজনীয় বিষয়গুলিতে মনোনিবেশ করেছি। তবে উন্নতির কোন সীমা নেই: আপনি মাভেন সম্পর্কে এর অফিসিয়াল ওয়েবসাইটে আরও পড়তে পারেন । পার্ট 5। সার্ভলেট এবং জাভা সার্ভলেট এপিআই। একটি সাধারণ ওয়েব অ্যাপ্লিকেশন লেখা পার্ট 6. সার্ভলেট কন্টেইনার পার্ট 7. MVC (মডেল-ভিউ-কন্ট্রোলার) প্যাটার্ন প্রবর্তন করা হচ্ছে
মন্তব্য
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION