Exclude Rules ডিফাইন করা

Java Technologies - অ্যাপাচি আইভি (Apache IVY) Dependency Exclusion এবং Conflict Management |
134
134

অ্যাপাচি আইভি (Apache Ivy) একটি ডিপেনডেন্সি ম্যানেজমেন্ট টুল যা Java প্রোজেক্টে ব্যবহৃত লাইব্রেরি এবং ডিপেনডেন্সি ম্যানেজমেন্ট সহজ করে। যখন আপনি আপনার প্রোজেক্টের ডিপেনডেন্সি কনফিগার করেন, তখন আপনি হয়তো কিছু নির্দিষ্ট ডিপেনডেন্সি বাদ দিতে চাইবেন। এই প্রক্রিয়াটিকে Exclude Rules বলা হয়, যেখানে আপনি কোনো নির্দিষ্ট ডিপেনডেন্সি বা তার নির্দিষ্ট সংস্করণ বাদ দিতে পারেন। এটি বিশেষভাবে প্রয়োজনীয় যখন আপনার প্রোজেক্টের একটি লাইব্রেরি অন্য লাইব্রেরির কিছু নির্দিষ্ট সংস্করণ বা ডিপেনডেন্সি ব্যবহার করতে চায় যা আপনার প্রোজেক্টের সাথে সামঞ্জস্যপূর্ণ নয়।

আইভি "exclude" নিয়মের মাধ্যমে এটি সম্ভব করে তোলে। এই নিয়মটি ব্যবহার করে আপনি নির্দিষ্ট লাইব্রেরি, ভার্সন, অথবা ডিপেনডেন্সি ছেঁকে বাদ দিতে পারেন।


Exclude Rules কী?

Exclude Rules ব্যবহার করার মাধ্যমে আপনি আপনার প্রোজেক্টের ডিপেনডেন্সি গ্রাফ থেকে কিছু নির্দিষ্ট লাইব্রেরি বা ডিপেনডেন্সি বাদ দিতে পারেন। আইভি স্বয়ংক্রিয়ভাবে ডিপেনডেন্সি রেজলভ করার সময়ে যদি কোনো লাইব্রেরি কোনো অপর্যাপ্ত বা অপ্রয়োজনীয় ডিপেনডেন্সি আনে, তবে আপনি সেটি বাদ দিতে পারেন।

আইভি আপনাকে একাধিক exclusion নিয়ম বা "exclude" যুক্ত করার সুবিধা দেয়, যা নির্দিষ্ট ডিপেনডেন্সি বা তার নির্দিষ্ট সংস্করণকে বাদ দিতে সাহায্য করে।


Exclude Rules কিভাবে ব্যবহার করবেন?

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

উদাহরণ ১: নির্দিষ্ট ডিপেনডেন্সি এক্সক্লুড করা

<dependencies>
    <dependency org="org.apache.commons" name="commons-lang3" rev="3.10">
        <exclude org="org.slf4j" name="slf4j-api"/>
    </dependency>
</dependencies>

এখানে:

  • commons-lang3 লাইব্রেরির ডিপেনডেন্সি slf4j-api লাইব্রেরিটি এক্সক্লুড করা হয়েছে।
  • org.slf4j:slf4j-api লাইব্রেরিটি commons-lang3 লাইব্রেরির ডিপেনডেন্সি থেকে বাদ দেওয়া হয়েছে।

উদাহরণ ২: নির্দিষ্ট সংস্করণ এক্সক্লুড করা

<dependencies>
    <dependency org="org.apache.commons" name="commons-lang3" rev="3.10">
        <exclude org="org.slf4j" name="slf4j-api" rev="1.7.2"/>
    </dependency>
</dependencies>

এখানে:

  • commons-lang3 লাইব্রেরি থেকে slf4j-api লাইব্রেরির সংস্করণ 1.7.2 এক্সক্লুড করা হয়েছে।
  • এইভাবে আপনি নির্দিষ্ট সংস্করণকে বাদ দিতে পারেন, যদি তা আপনার প্রোজেক্টের সাথে সঙ্গতিপূর্ণ না হয়।

Exclude Rules ডিফাইন করার জন্য অতিরিক্ত অপশন

১. conf অপশন

conf অপশনটি ব্যবহার করে আপনি কোন কনফিগারেশন (যেমন compile, runtime, test) এর জন্য ডিপেনডেন্সি এক্সক্লুড করতে পারেন। এটি বিশেষভাবে উপকারী যখন আপনি ডিপেনডেন্সির নির্দিষ্ট কনফিগারেশনে exclusion প্রয়োগ করতে চান।

<dependency org="org.apache.commons" name="commons-lang3" rev="3.10">
    <exclude org="org.slf4j" name="slf4j-api" conf="compile"/>
</dependency>

এখানে, slf4j-api লাইব্রেরিটি শুধুমাত্র compile কনফিগারেশন থেকে এক্সক্লুড হবে।

২. module অপশন

এই অপশনটি ব্যবহার করে আপনি নির্দিষ্ট মডিউল বা লাইব্রেরি এক্সক্লুড করতে পারেন। যেমন কোনো নির্দিষ্ট মডিউলের ডিপেনডেন্সি বাদ দিতে চাইলে আপনি module অপশন ব্যবহার করবেন।

<dependency org="org.apache.commons" name="commons-lang3" rev="3.10">
    <exclude module="commons-logging"/>
</dependency>

এখানে, commons-logging মডিউলটি এক্সক্লুড করা হয়েছে, যাতে এটি আপনার প্রোজেক্টের ডিপেনডেন্সি গ্রাফে না আসে।

৩. type অপশন

type অপশনটি ব্যবহার করে আপনি নির্দিষ্ট ফাইল টাইপ বা ডিপেনডেন্সি ধরনের exclusion করতে পারেন। এটি খুবই উপকারী যখন আপনি বিশেষ কোনো ফাইল বা এক্সটেনশন বাদ দিতে চান।

<dependency org="org.apache.commons" name="commons-lang3" rev="3.10">
    <exclude type="jar"/>
</dependency>

এখানে, commons-lang3 লাইব্রেরির jar ফাইল টাইপ এক্সক্লুড করা হয়েছে।


একটি পূর্ণাঙ্গ উদাহরণ

নিচে একটি পূর্ণাঙ্গ উদাহরণ দেওয়া হলো যেখানে একাধিক exclusion নিয়ম প্রয়োগ করা হয়েছে:

<ivy-module version="2.0">
    <info organisation="com.example" module="my-project" revision="1.0.0"/>

    <dependencies>
        <dependency org="org.apache.commons" name="commons-lang3" rev="3.10">
            <!-- Exclude slf4j-api version 1.7.2 from commons-lang3 -->
            <exclude org="org.slf4j" name="slf4j-api" rev="1.7.2"/>
            <!-- Exclude commons-logging module -->
            <exclude module="commons-logging"/>
        </dependency>
    </dependencies>
</ivy-module>

এখানে:

  • slf4j-api লাইব্রেরির 1.7.2 সংস্করণ এবং commons-logging মডিউল এক্সক্লুড করা হয়েছে।

সারাংশ

অ্যাপাচি আইভি (Apache Ivy) ডিপেনডেন্সি ম্যানেজমেন্টে exclude রুলস ব্যবহার করে আপনি অপ্রয়োজনীয় বা অযাচিত ডিপেনডেন্সি বাদ দিতে পারেন। এটি বিভিন্ন উপায়ে ডিপেনডেন্সি এক্সক্লুড করতে সহায়তা করে, যেমন লাইব্রেরি, সংস্করণ, মডিউল, এবং ফাইল টাইপের মাধ্যমে। এক্সক্লুড নিয়মগুলো ব্যবহার করে আপনি আপনার প্রোজেক্টের ডিপেনডেন্সি গ্রাফে অপ্রয়োজনীয় বা অযাচিত ডিপেনডেন্সি বাদ দিয়ে, প্রোজেক্টের পারফরম্যান্স এবং নির্ভরযোগ্যতা বৃদ্ধি করতে পারেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion