একটি মাভেন শিল্পকর্ম কি?


342

একটি শৈল্পিক কী এবং কেন মাভেনের এটির প্রয়োজন?


3
মাভেন ধারণাগুলি সম্পর্কে এখানে আরও: tshikatshikaaa.blogspot.nl/2012/05/…
জুলাইম ভার্সেটেঞ্জ

1
বিটিডব্লিউ আপনি একটি আর্টিক্টকের
informatik01

1
এই উত্তরগুলির কোনওোটাই সম্পূর্ণ নয়। আপনি কেবলমাত্র ম্যাভেন সংগ্রহশালা ব্রাউজ করে এটি দেখতে পারেন । একটি আর্টিক্টাক্ট স্পষ্টতই একটি ডিরেক্টরি যা কিছু প্রতিবন্ধকতাগুলি সন্তুষ্ট করে, যেমন এটিতে একটি নামক maven-metadata.xmlএকটি ফাইল এবং নামক একটি ফাইল থাকা আবশ্যক <artifactId>-<version>.pom। এই ফাইলগুলির উভয়েরই কিছু অপ্রকাশিত স্কিমা এবং শব্দার্থবিজ্ঞান রয়েছে।
জামেসফিশার

উত্তর:


303

একটি আর্টিক্টাক্ট একটি ফাইল, সাধারণত একটি জেআর, এটি ম্যাভেনের সংগ্রহস্থলে স্থাপন করা হয়।

একটি মাভেন বিল্ড এক বা একাধিক শৈল্পিক উত্পাদন করে যেমন সংকলিত জেআর এবং "উত্স" জেআর।

প্রতিটি আর্টিক্যাক্টের একটি গ্রুপ আইডি (সাধারণত বিপরীত ডোমেন নাম, যেমন com.example.foo), একটি আর্টিক্ট আইডি (কেবল একটি নাম) এবং একটি সংস্করণ স্ট্রিং থাকে। তিনটি একসাথে শিল্পকলা সনাক্ত।

একটি প্রকল্পের নির্ভরতা নিদর্শন হিসাবে নির্দিষ্ট করা হয়।


5
একটি নিদর্শন মূলত একটি জেআর ফাইল? সুতরাং, জোডা টাইম জারের ফাইলটিকে জোদা আর্টিফ্যাক্ট বলা যেতে পারে, হাইবারনেট জারকে হাইবারনেট আর্টিফেক্ট ইত্যাদি বলা যেতে পারে?
ডেভিড ব্লেইন

47
একটি নিদর্শন আসলে কি তা চিন্তা করুন। মিশরীয়রা মৃৎশিল্পের মতো দুর্দান্ত শিল্পকর্ম তৈরি করেছিল। তবে, যদি আপনি আপনার হাতে একটি মিশরীয় বাটি ধরে রাখেন, তবে আপনি এটি একটি "আর্টিক্ট" হিসাবে উল্লেখ করবেন না যদি না আপনি এটি একটি শৈল্পিক (সত্য) বিষয়টিকে নিয়ে আলোচনা না করেন। আপনি এটি একটি বাটি হিসাবে উল্লেখ করবেন। তারা বাটি থেকে খেয়ে ফেলল। তারা নিদর্শন বাইরে খাওয়া হয়নি।
সিবিএমিকস

3
আমি মনে করি @cbmeeks যা পাচ্ছেন তা হ'ল "আর্টিফ্যাক্ট" কোনও "জিনিসের" নাম নয়, এটি নির্মাণের প্রক্রিয়াতে একটি ভূমিকা । যে কোনও কিছুকে "আর্টিফ্যাক্ট" হিসাবে শ্রেণীবদ্ধ করা যেতে পারে যদি মাভেন এটি উত্পাদন করে এবং এটি সনাক্ত করার জন্য এটি বিশেষ মাভেন স্থানাঙ্ক দেওয়া হয় ।
গ্যারেট উইলসন

যদি আমার কাছে "com.example: mylibrary: 1.0.0" (গ্রুপআইডি: আর্টিফ্যাক্টআইডি: সংস্করণ) নামে কিছু থাকে, যা একটি জার, একটি পোম এবং উত্স জারের সমন্বয়ে থাকে, নিম্নলিখিতগুলির মধ্যে কোনটি একটি শৈল্পিক: 1. প্রতিটি ফাইল (পম, জার, উত্স জার) একটি পৃথক শিল্পকর্ম; ২. ফাইলগুলির সেট যা একই ভাগ করে দেয় (গ্রুপআইডি: আর্টিফ্যাক্টআইডি: সংস্করণ) একটি একক শৈল্পিক তৈরি করে; ৩.আর কিছু?
লরেন্স গনসাল্ভেস

ক্লাসের নাম দিয়ে কীভাবে গ্রুপিড এবং আর্টিফ্যাকটিড পাবেন তা আপনি ব্যাখ্যা করবেন না। ডাউনভোট
ফিলিপ রেগো

114

সাধারণ সফ্টওয়্যার পদে, একটি " আর্টিফ্যাক্ট " হ'ল সফ্টওয়্যার বিকাশ প্রক্রিয়া দ্বারা উত্পাদিত এমন কিছু জিনিস, এটি সফ্টওয়্যার সম্পর্কিত ডকুমেন্টেশন বা এক্সিকিউটেবল ফাইল হতে পারে।

ম্যাভেন পরিভাষায় হস্তনির্মিত বস্তু ম্যাভেন বিল্ড ফলে আউটপুট, সাধারণত একটি হল jarবা warবা অন্যান্য এক্সিকিউটেবল ফাইল। মাভেনের শিল্পকর্মগুলি গ্রুপআইডি, আর্টিফ্যাক্টআইডি এবং সংস্করণের একটি সমন্বিত সিস্টেম দ্বারা চিহ্নিত করা হয়। ম্যাভেন ব্যবহার groupId, artifactIdএবং versionনির্ভরতা (সাধারণত অন্যান্য বয়াম ফাইল) বিল্ড করা প্রয়োজন সনাক্ত এবং আপনার কোড চালানোর জন্য।


আমার বইতে বলা হয়েছে "এই অনলাইন অ্যাপ্লিকেশনটির মূল নিদর্শনটি ব্যবহারকারী নামে একটি জাভা ক্লাস হবে, যা করবে" ... এটি কি আপনি উল্লিখিত নিদর্শনগুলির মতো?
ডেভিড ব্লেইন

@ ডেভিডব্লাইন - ঠিক নয়, এই বাক্যটি শব্দটিকে আরও সাধারণ বোধ হিসাবে ব্যবহার করেছে।
কেন লিউ

27

আমি জানি এটি একটি প্রাচীন থ্রেড তবে আমি কয়েকটি ঘনত্ব যোগ করতে চেয়েছিলাম।

সেখানে মাভেন আর্টিক্টস, রেপোজিটরি ম্যানেজার আর্টিফেক্টস এবং তারপরে মাভেন রয়েছে Artifact এস।

একটি ম্যাভেন আর্টিক্যাক্ট হ'ল অন্য মন্তব্যকারী / প্রতিক্রিয়াকারীরা যেমন বলেছেন: এটি এমন একটি বিষয় যা মাভেন প্রকল্প তৈরির মাধ্যমে ছড়িয়ে পড়ে। এটি কোনও .jarফাইল, বা একটি .warফাইল, বা একটি .zipফাইল বা একটি হতে পারে.dll বা আপনার কী থাকতে পারে।

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

ম্যাভেন Artifactএকটি জাভা ক্লাস যা "প্রকার" নামটি উপস্থাপন করে যা একটি সংগ্রহস্থল পরিচালকের দ্বারা একটি সংগ্রহস্থল পরিচালকের আর্টিফ্যাক্ট হিসাবে অবহিত হয়। যখন এই অর্থে ব্যবহৃত, একটি Artifactমাত্র মহিমান্বিত নামের উক্ত অংশ গঠিত groupId, artifactId, version, scope,classifier ইত্যাদি।

সব একসাথে রাখার জন্য:

  • আপনার মাভেন প্রকল্প সম্ভবত Artifactএটির বিভিন্ন দিকের উপর নির্ভর করে<dependency> উপাদানগুলির ।
  • মাভেন একটি সংগ্রহস্থল ব্যবস্থাপকের সাথে ইন্টারপ্যাক্ট Artifactকরে সেগুলি ফাইলগুলিতে সমাধান করতে রিপোজিটরি ম্যানেজারকে কিছু রেপোজিটরি ম্যানেজারকে অভ্যন্তরীণ Artifactএর সাথে সামঞ্জস্যপূর্ণ প্রেরণে পাঠানোর নির্দেশ দিয়ে ।
  • অবশেষে, সমাধানের পরে, মাভেন আপনার প্রকল্পটি তৈরি করে এবং একটি মাভেন আর্টিক্ট উত্পাদন করে। আপনি চয়ন করতে পারেন ব্যবহার যাই হোক না কেন টুল আপনি চান, সংগ্রহস্থলের ম্যানেজারের সাথে এটা যথেষ্ট সমন্বয়ের তথ্য অন্য লোকেরা জানতে পারেন যখন সঙ্গে পাঠানোর ঘুরে, একটি সংগ্রহস্থলের ম্যানেজার হস্তনির্মিত বস্তু "এই পরিণত", তারা তার জন্য সংগ্রহস্থলের ম্যানেজার জিজ্ঞাসা।

আশা করি এইটি কাজ করবে.


পুরানো থ্রেডে নতুন তথ্যের জন্য +1 ধন্যবাদ! টাইপো "রিপোসিটিরি" ঠিক করুন যদিও মাঝে মাঝে পু সঠিক শব্দ হতে পারে হাহা ... প্রত্যেকেই বলছেন "আর্টিফ্যাক্ট" আসল জার, আপনার উত্তরটি আপডেট করতে সহায়ক হতে পারে এটি উল্লেখ করার জন্য যে উদাহরণস্বরূপ mvn install, লোকেরা কি প্রবেশ করতে হবে তা বের করার চেষ্টা করছি। তাই জারের পুরো নামটি কীসের জন্য প্রবেশ করা উচিত -DartifactId=YOUR_ARTIFACT_ID, তা কি ঠিক? সংস্করণ এবং .jar সহ পুরো জার ফাইলের নাম? আপনি যা বলছেন তা মনে হচ্ছে তবে কিছুটিকে সত্যরূপে সুস্পষ্ট হতে সহায়তা করবে। অন্যান্য উত্তরগুলি এর কাছাকাছি আসবে তবে আমি আপনাকে সেরা বলে মনে করেছি।
জিমলহসে

23

মাভেন প্রকল্পগুলিতে এটির বিল্ড আয়োজন করে।

ইন artifactইন ম্যাভেন হ'ল এক উত্সাহী প্রকল্প দ্বারা উত্পন্ন উত্স। প্রতিটি মেভেন প্রকল্পের ঠিক একটির artifactমতো একটি থাকতে পারে jar, war, earইত্যাদি
The প্রকল্পের কনফিগারেশন ফাইলটিতে "pom.xml"কীভাবে শিল্পকর্মগুলি তৈরি হয়, ইউনিট পরীক্ষাগুলি কীভাবে চালানো হয় ইত্যাদি বর্ণনা করা হয় ma ) যে পণ্য গঠন।
যেমন

Root-Project   // produces no artifact, simply triggers the build of the other projects
  App-Project  // The application, that uses the libraries
  Lib1-Project // A project that creates a library (jar)
  Lib2-Project // Another library
  Doc-Project  // A project that generates the user documentation from some resources

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

প্রতিটি মেভেন প্রকল্পের সমন্বিত অনন্য শনাক্তকারী রয়েছে [groupId, artifactId, version]। যখন কোনও মেভেন প্রকল্পের জন্য অন্য প্রকল্পের সংস্থান প্রয়োজন, pom.xmlতখন উপরোক্ত উল্লিখিত সনাক্তকারী ব্যবহার করে একটি নির্ভরতা কনফিগার করা হয় । মাভেন তারপরে কোনও বিল্ডটি ট্রিগার করা হলে স্বয়ংক্রিয়ভাবে নির্ভরতাগুলি সমাধান করে। প্রয়োজনীয় প্রকল্পগুলির নিদর্শনগুলি স্থানীয় থেকে লোড করা হয় repository, যা আপনার ব্যবহারকারীর বাড়ির একটি সাধারণ ডিরেক্টরি, অথবা আপনার নির্দিষ্ট অন্যান্য (দূরবর্তী) সংগ্রহস্থল থেকে pom.xml


19

প্র: ম্যাভেনে আর্টিফ্যাক্ট কী?
এএনএস: আর্টিফ্যাক্ট একটি জার, (ওয়ার বা কান), তবে এটি অন্যরকম কিছুও হতে পারে। প্রতিটি নিদর্শন আছে,

  • একটি গ্রুপ আইডি (যেমন com.your.package),
  • একটি আর্টিক্ট আইডি (কেবল একটি নাম), এবং
  • একটি সংস্করণ স্ট্রিং।
    তিনটি একসাথে শিল্পকলা সনাক্ত।

প্র: কেন মাভেন তাদের দরকার?
উত্তর: মাভেন তাদের আমাদের অ্যাপ্লিকেশনগুলির জন্য উপলব্ধ করতে ব্যবহৃত হয়।


চমৎকার উত্তর, যেমন আমি অন্যান্য উত্তরে মন্তব্য করেছি , এটি -DartifactId=YOUR_ARTIFACT_IDএমভিএন ইনস্টল করার সময় আমাদের কী টাইপ করা উচিত তা স্পষ্ট করে দিন, কেবল একটি পরামর্শ :)
জিমলোহসে ২

@ জিমলোহস ধন্যবাদ, "সম্পাদনা" শিরোনাম যোগ করতে নির্দ্বিধায় :)
অনুগ্রহ করে

9

একটি নিদর্শন একটি জার বা এমন কিছু যা আপনি কোনও ভাণ্ডারে সঞ্চয় করেন। ম্যাভেন সেগুলি পেয়ে যায় এবং আপনার কোড তৈরি করে।


8

মাভেনের জন্য, বিল্ড প্রক্রিয়াটি নিদর্শনগুলির সেট হিসাবে সাজানো হয়েছে। নিদর্শন অন্তর্ভুক্ত:

  1. যে প্লাগইনগুলি মাভেন নিজেই তৈরি করে।
  2. নির্ভর করে যে আপনার কোড উপর নির্ভর করে।
  3. আপনার বিল্ড যা কিছু উত্পাদন করে তা ফলস্বরূপ অন্য কোনও কারণে গ্রাস করতে পারে।

নিদর্শনগুলি স্টোরগুলিতে থাকে।


4

সাধারণত আমরা গ্রুপ আইডি, আর্টিফ্যাক্ট আইডি এবং স্ন্যাপশট সংস্করণ সম্পর্কে মাভেন টার্মিনোলজির কথা বলি

গ্রুপ আইডি: প্রকল্পের গ্রুপের পরিচয় আর্টিফ্যাক্ট আইডি: প্রকল্পের পরিচয় স্ন্যাপশট সংস্করণ: প্রকল্পটি ব্যবহৃত সংস্করণ।

আর্টিফ্যাক্ট জার, ওয়ার, ইয়ার .... এর মতো কিছু ফলাফল ফাইল ছাড়া কিছুই নয় is

সহজভাবে বলে যে শিল্পকলাগুলি প্যাকেজ ছাড়া কিছু নয়।

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