তাত্ত্বিক ও অনুশীলনে মাভেন কী করেন? কখন এটি ব্যবহার করা মূল্য? [বন্ধ]


156

আমি কেবল অনুশীলনের জন্য একটি জাভা প্রকল্প শুরু করতে চলেছি। আমি মাভেন সম্পর্কে পড়েছি, তবে কখন এটি ব্যবহার করা উচিত তা আমি আসলে বুঝতে পারি না।

আপনি আমাকে কিছু ব্যবহারিক টিপস দিতে পারেন? মাভেন কি অনেক সাহায্য করে? মাভেন আসলে আমার প্রকল্পের জন্য কী করে?


হেজ, মাভেন, স্প্রিং এবং রু সম্পর্কে আমার এই প্রশ্নটি একবার দেখুন । গ্রহনের সাথে কাজ করার সময় এবং উন্নয়নের সময়টি গতিময় করার জন্য আমি ম্যাভেনকে প্রচুর ব্যবহার করেছি। তবে কিছু বিষয় আছে। আমি মনে করি আপনাকে ম্যাভেনের সাথে একসাথে জাভা টীকাগুলি বুঝতে হবে। তবে আমি যে প্রশ্নটি যুক্ত করেছি তা একবার দেখুন ...
মিম 24

@ আর্টবি মাভেন কী তা সম্পর্কে একটি ভাল ব্যাখ্যা দেয়। যাইহোক, আমি তার উত্তরে আমার মন্তব্যে যেমন বলেছি, আপনার এটি ব্যবহার করা উচিত বলে আমি মনে করি না। আপনি যদি একটি বিল্ড সরঞ্জাম চান, গ্রেডল ব্যবহার করুন। এটি ডাউনলোড করুন, এটি ইনস্টল করুন, তারপরে আপনার প্রকল্পে একটি ফাইল তৈরি করুন build.gradleযা কেবলমাত্র একটি লাইন বলে apply plugin: 'java'। ধরে নেওয়া আপনার সোর্স কোডটি স্বাভাবিক স্থানে ( src/main/java, ইউনিট পরীক্ষায় src/test/java), আপনি এখন নিজের কোডটি তৈরি করে, পরীক্ষা করতে এবং প্যাকেজ করে বলতে পারেন gradle build। সহজ!
টম অ্যান্ডারসন

2
গ্রেডল ব্যবহার করার জন্য আপনাকে গ্রোভি শিখতে হবে এবং আপনি অবশ্যই ম্যাভেন ব্যবহার করে প্রকল্পে আসবেন তাই এটি এখনও শেখার মতো। এছাড়াও, মাভেনকে বোঝা অন্য সরঞ্জামগুলি বুঝতে সহজ হবে যা তার পরে আসার আরও সহজ।
টানা স্লেজগাড়ির

জাভা টিকা নিয়ে মাভেনের কী কী আছে?
টানা স্লেজগাড়ির

1
Gradle জন্য +1 না শুধুমাত্র এটা জাভা ডেভেলপারদের জন্য বাড়ির কাছাকাছি এটা ম্যাভেন পুনরায় ব্যবহার করতে পারেন নিদর্শন এবং এটি অ মান করতে পারেন তৈরী করে সহজে হয়, stackoverflow.com/questions/1163173/...
Kalpesh সোনি

উত্তর:


183

এর মানে কি

মাভেন একটি "বিল্ড ম্যানেজমেন্ট টুল", এটি আপনার .javaফাইলগুলি কীভাবে সংকলিত .classহয় .jar(বা .warবা .ear) ফাইলগুলিতে প্যাকেজ করা হয় , (পূর্বে / পোস্ট) সরঞ্জামগুলি দিয়ে প্রক্রিয়াজাত করা হয়, আপনার পরিচালনা করা হয় CLASSPATHএবং অন্যান্য সমস্ত ধরণের কাজের প্রয়োজন হয় তা নির্ধারণ করার জন্য is আপনার প্রকল্প তৈরি করুন। এটা তোলে অনুরূপ এ্যাপাচি অ্যান্ট বা Gradle বা ফাইল তৈরী সি / সি ++ কিন্তু তা সম্পূর্ণভাবে স্বয়ংসম্পূর্ণ যে আপনি ডাউনলোড & প্রয়োজনীয় লাইব্রেরি ইত্যাদি ইনস্টল করার মত অন্যান্য সাধারণ কর্ম একত্রিত করে যে কোনো অতিরিক্ত সরঞ্জাম বা স্ক্রিপ্ট প্রয়োজন হবে না উচিত করার প্রচেষ্টা

এটি "বিল্ড পোর্টেবিলিটি" থিমের আশেপাশেও নকশা করা হয়েছে, যাতে আপনি একই কম্পিউটারে একই বিল্ডস্ক্রিপ্ট নিয়ে কাজ করে তবে অন্য একটিতে নয় একই সমস্যা হয় (এটি একটি পরিচিত সমস্যা, আমাদের উইন্ডোজ এর ভিএম রয়েছে) 98 টি মেশিন যেহেতু আমরা আমাদের কোথাও কোথাও সংকলিত আমাদের ডেলফি অ্যাপ্লিকেশন পেতে পারি না)। এই কারণে, এটি যারা আইডিই-জেনারেট অ্যান্ট স্ক্রিপ্ট থেকে বিভিন্ন IDEs ব্যবহার করেন সেগুলি অন্যান্য IDEs আমদানী করার কঠিন মধ্যে একটি প্রকল্পের কাজ সবচেয়ে ভাল উপায়, কিন্তু সমস্ত IDEs আজকাল বুঝতে এবং সমর্থন ম্যাভেন ( IntelliJ , অন্ধকার , এবং NetBeans )। এমনকি আপনি মাভেনের পছন্দ শেষ না করলেও, এটি অন্যান্য সমস্ত আধুনিক বিল্ড সরঞ্জামগুলির জন্য রেফারেন্স পয়েন্ট হিসাবে শেষ হয়।

আপনার এটি কেন ব্যবহার করা উচিত

মাভেন সম্পর্কে তিনটি জিনিস রয়েছে যা খুব সুন্দর।

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

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

  3. মাভেনের প্রচুর দুর্দান্ত প্লাগ-ইন রয়েছে যা আপনি ইনস্টল করতে পারেন যা জাএএক্সবি ব্যবহার করে কোনওএবিএসবি স্ক্রিন থেকে জাবার ক্লাস তৈরি করা থেকে শুরু করে কোবার্টুরার সাথে পরীক্ষার কভারেজ পরিমাপ করার জন্য অনেকগুলি রুটিন কাজ পরিচালনা করতে পারে । কেবল এগুলিকে আপনার এ যুক্ত করুন pom.xmlএবং তারা আপনাকে যা করতে চান তার সাথে সমস্ত কিছু সংহত করে দেবে।

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

কিভাবে শুরু করতে হবে

শুরু করার সেরা জায়গাটি হ'ল " 5 মিনিটে মাভেন "। এটি আপনাকে প্রয়োজনীয় সমস্ত ফাইল এবং ফোল্ডার সেট আপ-আপ সহ কোড করার জন্য একটি প্রকল্পের সাথে শুরু করবে (হ্যাঁ, আমি কমপক্ষে প্রথমে কুইকস্টার্ট আরকিটাইপ ব্যবহার করার পরামর্শ দিই)।

আপনি শুরু করার পরে আপনি কীভাবে সরঞ্জামটি ব্যবহার করতে চান তা আরও ভালভাবে বুঝতে চাইবেন। তার জন্য " বেটার বিল্ডস উইথ ম্যাভেন " এটি কীভাবে কাজ করে তার সাহস বোঝার জন্য সবচেয়ে পুঙ্খানুপুঙ্খ জায়গা, তবে, " ম্যাভেন: দ্য কমপ্লিট রেফারেন্স " আরও আধুনিকীকরণের । বোঝার জন্য প্রথমটি পড়ুন, তবে দ্বিতীয়টি রেফারেন্সের জন্য ব্যবহার করুন।


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

5
উত্তরটিতে কতটা বিশদ রাখতে হবে তা সবসময়ই প্রশ্ন রয়েছে, তবে আপনি যদি একজন গড় জাভা বিকাশকারী হন তবে আপনার অফিসে এটি সম্ভবত ম্যাভেন বা শিট্টি পিঁপড়া নরক (পিঁপড়া + বাশ + পার্ল + কম্পিউটার জাদু পথের সাহায্যে কনফিগার করা কম্পিউটার)। আপনি যদি ভাগ্যবান কয়েকজনের মধ্যে থাকেন তবে এ + বিকাশকারীদের সাথে একটি ভাল পরিবেশে স্বাধীনতার সাথে কাজ করার জন্য বেছে নেওয়ার অন্যান্য বিকল্প রয়েছে (গ্রেডল এক হচ্ছেন)। তবে আপনি যদি কোনও গড় জায়গায় কাজ করছেন তবে মাভেন হ'ল একটি সেরা সরঞ্জাম যা আপনার সহকর্মীদের কোনও বিন্দু দিয়ে নিজেকে কাটাতে দেয় না।
টানা স্লেজগাড়ির

4
গ্রেডল ব্যবহার করতে আপনাকে A + বিকাশকারী হতে হবে বলে আমি মনে করি না। মাভেনকে গ্রহণ করতে পারে এমন একটি সংস্থা কেন গ্র্যাডেল গ্রহণ করতে পারে না তা আমি দেখছি না। এটা সত্য যে গ্রেডল আপনাকে পায়ের কাছে গুলি করতে দেয়, একইভাবে পিঁপড়াকে যেমন করে, কিন্তু মাভেনকে বেশ শক্ত করে তোলে এমন এক উপায়ে (এবং এটি প্রমাণ করার জন্য আমার সহকর্মীদের শট পায়ের সংগ্রহ রয়েছে); মাভেন কার্যত অসম্ভব করে তোলে এমন কাজ করা সম্ভব করার জন্য এটিই বাণিজ্য।
টম অ্যান্ডারসন

4
গ্রেডলের মতো কিছু ব্যবহার এবং শট ফুট এড়িয়ে চলার ক্ষেত্রে, আমি প্রোগ্রামারগুলির একটি ট্রিজে শ্রেণিবদ্ধকরণের প্রস্তাব করি। কিছু প্রোগ্রামার বিল্ড স্ক্রিপ্টগুলি সম্পাদনা করতে, এবং জিনিসগুলি কম বেশি সঠিকভাবে পেতে ভয় পাবেন না। এই লোকগুলি দরকারী। কিছু প্রোগ্রামার বিল্ড স্ক্রিপ্টগুলি সম্পর্কে ভয় পায় এবং এগুলি স্পর্শ করবে না। এই লোকেরা অন্তত ক্ষতিকারক নয়; আমি একটি 12-সদস্যের দলে এসেছি যেখানে আমাদের মধ্যে কেবল দু'জনই সেই বিল্ডটিকে স্পর্শ করেছিল এবং এটি আসলে আরও ভালভাবে কাজ করেছিল worked কিছু প্রোগ্রামার বিল্ড স্ক্রিপ্টগুলি সম্পর্কে ভয় পায় না, তবে তারা যদি তাদের স্পর্শ করে তবে এগুলি স্ক্রু আপ করবে। এই লোকেরা বিপজ্জনক।
টম অ্যান্ডারসন

1
সুতরাং এটি জাভা
কেজেডাব্লু

9

থেকে Sonatype ডক :

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

আমি সোনাটাইপ ডকটির দিকে তাকাতে এবং মাভেনের শক্তি বোঝার জন্য উপলভ্য প্লাগইনগুলি দেখে কিছুটা সময় ব্যয় করার দৃ strongly়ভাবে সুপারিশ করব।

খুব সংক্ষেপে, এটি (বলুন) পিঁপড়ের চেয়ে উচ্চতর ধারণাগত স্তরে কাজ করে। পিঁপড়ের সাহায্যে আপনি যে ফাইলগুলি এবং সংস্থানগুলি তৈরি করতে চান সেগুলির সেটটি নির্দিষ্ট করে দিতে হবে, তারপরে আপনি কীভাবে তাদের একসাথে জার করতে চান তা নির্দিষ্ট করুন এবং (পরিষ্কার / সংকলন / জারে) যে ক্রমটি ঘটতে হবে তা নির্দিষ্ট করুন। মাভেনের সাথে এটি সমস্ত অন্তর্নিহিত। মাভেন আপনার ফাইলগুলি নির্দিষ্ট জায়গায় খুঁজে পেতে পারে এবং এটি দিয়ে স্বয়ংক্রিয়ভাবে কাজ করবে। ফলস্বরূপ মাভেনের সাথে একটি প্রকল্প স্থাপন করা অনেক সহজ হতে পারে তবে আপনাকে ম্যাভেনের নিয়ম অনুযায়ী খেলতে হবে!


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

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

2
@ ব্রায়ান দুঃখিত, আমার আগের মন্তব্যটি যদি শিখা লেগেছে, তবে আমাকে এটি আবার নতুন করে বলা উচিত: আপনার মন্তব্যটি কেবলমাত্র মাভেনকেই ভালভাবে ব্যাখ্যা করেছে যদি আপনি ইতিমধ্যে বুঝতে পারছেন যে মাভেন কী, তবে প্রাথমিক সূচনা পয়েন্ট হিসাবে এটি কার্যকর নয় helpful
টানা স্লেজগাড়ির

5

Mavenএকটি বিল্ড টুল। বরাবর Antবা Gradleহয় Javaবিল্ডিং জন্য গুলি সরঞ্জাম।
আপনি যদি জাভাতে নবাগত হন তবে আপনার আইডিই ব্যবহার করে তৈরি করুন যেহেতু Mavenখাড়া শেখার বক্রতা রয়েছে।


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