পম.এক্সএমএল-এ <নির্ভরতা> এর অধীনে <scope> কী?


179

ডকুমেন্টেশন http://maven.apache.org/surefire/maven-surefire-plugin/example/testng.html এ দেখে আমরা <scope>ট্যাগের নীচে দেখতে পাচ্ছি<dependency>

এটি কী এবং আমরা কীভাবে এটি পরীক্ষা চালানোর জন্য ব্যবহার করতে পারি?



উত্তর:


266

<scope>: উপাদান 6 মান গ্রহণ করতে পারেন কম্পাইল , প্রদত্ত , রানটাইম , পরীক্ষা , সিস্টেম এবং আমদানি

এই সুযোগটি নির্ভরতার সক্রিয়তা সীমাবদ্ধ করতে এবং বিভিন্ন নির্মাণ কাজের জন্য ব্যবহৃত ক্লাসপাথকে প্রভাবিত করতে ব্যবহৃত হয়।

কম্পাইল

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

প্রদত্ত

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

রানটাইম

এই সুযোগটি ইঙ্গিত করে যে নির্ভরতা সংকলনের জন্য প্রয়োজন হয় না, তবে তা কার্যকর করার জন্য। এটি রানটাইম এবং পরীক্ষার শ্রেণিপথগুলিতে রয়েছে তবে ক্লাসপথ সংকলন করে না।

পরীক্ষা

এই সুযোগটি ইঙ্গিত করে যে অ্যাপ্লিকেশনটির সাধারণ ব্যবহারের জন্য নির্ভরতা প্রয়োজন হয় না এবং এটি কেবল পরীক্ষার সংকলন এবং কার্যকরকরণের পর্যায়গুলির জন্য উপলব্ধ।

পদ্ধতি

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

আমদানি (কেবল ম্যাভেন ২.০.৯ বা তার পরে পাওয়া যাবে)

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

আপনার প্রশ্নের দ্বিতীয় অংশের উত্তর দিতে:

পরীক্ষা চালানোর জন্য আমরা কীভাবে এটি ব্যবহার করতে পারি?

নোট করুন যে testসুযোগটি কেবল পরীক্ষার পর্যায়ে নির্ভরতা ব্যবহার করতে দেয়।

সম্পূর্ণ বিবরণের জন্য ডকুমেন্টেশন পড়ুন ।


সুতরাং আপনি যদি "পরীক্ষা" ব্যবহার করেন তবে এটি তৈরি করা জাজের মধ্যে কি শেষ হয়?
মার্কথেগ্রিয়া

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


12

ছয় নির্ভরতা স্কোপ:

  • কম্পাইল : ডিফল্ট সুযোগ ক্লাসপাথ উভয় জন্য উপলব্ধ src/mainএবংsrc/test
  • পরীক্ষা : ক্লাসপাথ জন্য উপলব্ধsrc/test
  • সরবরাহ করা হয়েছে : কমপ্লির মতো তবে রানডটাইমে জেডিকে বা একটি ধারক দ্বারা সরবরাহ করা
  • রানটাইম : সংকলনের জন্য প্রয়োজনীয় নয় কেবল রানটাইম এ
  • সিস্টেম : স্থানীয়ভাবে ক্লাসপথ সরবরাহ করে
  • আমদানি : কেবলমাত্র <dependencyManagement/>মাভেন ২.০.৯ বা তার পরে পাওয়া অন্যগুলিতে কেবল অন্য পিওএম আমদানি করতে পারে


4

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


11
সংকলনের অর্থ অ্যাপটি সংকলন এবং চালনার জন্য আপনার জেআর দরকার। একটি ওয়েব অ্যাপ্লিকেশনের জন্য, উদাহরণস্বরূপ, জারটি ওয়েবে-আইএনএফ / lib ডিরেক্টরিতে স্থাপন করা হবে। প্রদত্ত অর্থ হ'ল সংকলনের জন্য আপনার জেআর দরকার, তবে রান সময়ে পরিবেশের দ্বারা ইতিমধ্যে একটি জার সরবরাহ করা হয়েছে যাতে আপনার অ্যাপ্লিকেশনটির সাথে এটি প্যাকেজ করা দরকার না। একটি ওয়েব অ্যাপ্লিকেশনের জন্য, এর অর্থ এই যে JAR ফাইলটি WEB-INF / lib ডিরেক্টরিতে স্থাপন করা হবে না। একটি ওয়েব অ্যাপ্লিকেশনটির জন্য, যদি অ্যাপ্লিকেশন সার্ভারটি ইতিমধ্যে জআর সরবরাহ করে (বা এর কার্যকারিতা), তবে "সরবরাহিত" ব্যবহার করুন অন্যথায় "সংকলন" ব্যবহার করুন।
মুকেশ

1
দয়া করে আপনার উত্তরের মধ্যে এই মন্তব্যটি যুক্ত করুন
সুপুন উইজরথনে

0

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


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