পম ফাইলের সাধারণ দৃশ্য

প্রকল্পের গঠন pom.xml ফাইলে বর্ণনা করা হয়েছে, যা অবশ্যই প্রকল্পের রুট ফোল্ডারে অবস্থিত হতে হবে। প্রকল্প ফাইলের বিষয়বস্তু এই মত দেখায়:

<project>
        <!—বর্তমান প্রকল্পের বর্ণনা -->
        <groupId>...</groupId>
        <artifactId>...</artifactId>
        <packaging>...</packaging>
        <version>... </ version>


        <properties>
            <!-- Properties section -->
        </properties>

        <repositories>
            <!-- repositories section -->
        </repositories>


        <dependencies>
            <!-- Dependencies section -->
        </properties> নির্ভরতা>

        <build>
            <!-- বিল্ড সেকশন -->
        </build>
</project>

pom.xml বিবরণে সব বিভাগ উপস্থিত নাও থাকতে পারে। তাই বৈশিষ্ট্য এবং সংগ্রহস্থল বিভাগ প্রায়ই ব্যবহার করা হয় না. বর্তমান প্রকল্পের বর্ণনার পরামিতি প্রয়োজন আমরা এখন শেষ অধ্যায় সম্পর্কে কথা বলব।

বিভাগ তৈরি করুন

বিল্ড বিভাগটি ঐচ্ছিক - মাভেন এটি ছাড়া একটি প্রকল্প তৈরি করতে পারে। তবে আপনি যদি কম বা কম জটিল প্রকল্পের সমাবেশ সেট আপ করতে চান তবে সেখানে কীভাবে সবকিছু কাজ করে তা বোঝা কাজে আসবে।

আসুন একটি সাধারণ উদাহরণ দেখি:

  <build>
        <finalName>projectName</finalName>
        <sourceDirectory>${basedir}/src/java</sourceDirectory>
        <outputDirectory>${basedir}/targetDir</outputDirectory>
        <resources>
                <resource>
                <directory>${ basedir}/src/java/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                </includes>
                </resource>

        </resources>
        <plugins>
                । . .
        </plugins>
    </build>

এই বিভাগে বিল্ডিং সম্পর্কে প্রাথমিক তথ্য রয়েছে: জাভা ফাইলগুলি কোথায় অবস্থিত, সংস্থান ফাইলগুলি, কোন প্লাগইনগুলি ব্যবহার করা হয়, নির্মিত প্রকল্পটি কোথায় রাখতে হবে৷

চারটি প্রধান ট্যাগ আছে:

  • <ফাইনাল নাম>
  • <sourceDirectory>
  • <আউটপুট ডিরেক্টরি>
  • <সম্পদ>

আসুন সংক্ষেপে তাদের উদ্দেশ্য বিশ্লেষণ করা যাক:

<finalName> ট্যাগ প্যাকেজ পর্বে তৈরি করা বিল্ড ফাইলের (জার, যুদ্ধ, কান..) নাম নির্দিষ্ট করে । যদি প্যারামিটারটি নির্দিষ্ট করা না থাকে, তাহলে ডিফল্ট মান, artifactId-সংস্করণ , ব্যবহার করা হয় ।

<sourceDirectory> ট্যাগ আপনাকে উৎস ফাইলের অবস্থান পুনরায় সংজ্ঞায়িত করতে দেয়। ডিফল্টরূপে, ফাইলগুলি ${basedir}/src/main/java ডিরেক্টরিতে অবস্থিত , কিন্তু আপনি অন্য কোনো অবস্থান নির্দিষ্ট করতে পারেন।

<outputDirectory> ট্যাগ সেই ডিরেক্টরিকে নির্দিষ্ট করে যেখানে কম্পাইলার কম্পাইলেশন ফলাফল - *.class ফাইলগুলি সংরক্ষণ করবে। ডিফল্ট মান হল লক্ষ্য/শ্রেণী

<resources> ট্যাগ এবং এর নেস্টেড <resource> ট্যাগ রিসোর্স ফাইলের অবস্থান নির্ধারণ করে। বিল্ডিং করার সময় রিসোর্স ফাইলগুলি সহজভাবে outputDirectory ডিরেক্টরিতে অনুলিপি করা হয় । রিসোর্স ডিরেক্টরির ডিফল্ট মান হল src/main/resources

সমাবেশ বিভাগটি বিশেষভাবে নমনীয়ভাবে কনফিগার করা যেতে পারে। আমরা একটু পরে এটি আরও বিশদে দেখব।