যখন আমি একটি স্প্রিং বুট অ্যাপ্লিকেশন তৈরি করি তখন আমি প্রকল্পের মূলটিতে ফাইলগুলি দেখতে mvnwএবং mvnw.cmdফাইলগুলি দেখতে পেতাম । এই দুটি ফাইলের উদ্দেশ্য কী?
যখন আমি একটি স্প্রিং বুট অ্যাপ্লিকেশন তৈরি করি তখন আমি প্রকল্পের মূলটিতে ফাইলগুলি দেখতে mvnwএবং mvnw.cmdফাইলগুলি দেখতে পেতাম । এই দুটি ফাইলের উদ্দেশ্য কী?
উত্তর:
এই ফাইলগুলি ম্যাভেন র্যাপারের । এটি গ্র্যাডেল মোড়কের মতো একইভাবে কাজ করে ।
এটি আপনাকে মাভেন ইনস্টল না করে এবং পথে উপস্থিত না করে ম্যাভেন প্রকল্প চালানোর অনুমতি দেয়। এটি যদি না পাওয়া যায় তবে সঠিক মেভেন সংস্করণটি ডাউনলোড করে (আপনার ব্যবহারকারীর হোম ডিরেক্টরিতে আমি পূর্ব পর্যন্ত জানি)।
mvnwফাইল লিনাক্স (ব্যাশ) জন্য হয় এবং mvnw.cmdউইন্ডোজ পরিবেশের জন্য নয়।
সমস্ত প্রয়োজনীয় মাভেন র্যাপার ফাইলগুলি তৈরি বা আপডেট করতে নিম্নলিখিত কমান্ডটি কার্যকর করে:
mvn -N io.takari:maven:wrapper
ম্যাভেনের আলাদা সংস্করণ ব্যবহার করতে আপনি নিম্নলিখিত রূপটি সংস্করণটি নির্দিষ্ট করতে পারবেন:
mvn -N io.takari:maven:wrapper -Dmaven=3.3.3
উভয় কমান্ড উপর ম্যাভেন প্রয়োজন PATH(ম্যাভেন পাথ যোগ binকরার Pathযদি আপনি ইতিমধ্যে mvnw আপনার প্রকল্পের মধ্যে আছে আপনি ব্যবহার করতে পারেন সিস্টেম ভেরিয়েবল দিকে) ./mvnwপরিবর্তে mvnকমান্ড হবে।
কমান্ড mvnwমাভেন ব্যবহার করে যা ডিফল্টরূপে ~/.m2/wrapperপ্রথম ব্যবহারে ডাউনলোড হয় ।
মাভেন সহ ইউআরএল প্রতিটি প্রকল্পে নির্দিষ্ট করা আছে .mvn/wrapper/maven-wrapper.properties:
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip
মাভেন সংস্করণ আপডেট বা পরিবর্তন করতে নিম্নলিখিতগুলিতে প্রার্থনা করুন ( --non-recursiveমাল্টি-মডিউল প্রকল্পগুলির জন্য মনে রাখবেন ):
./mvnw io.takari:maven:wrapper -Dmaven=3.3.9
অথবা কেবল .mvn/wrapper/maven-wrapper.propertiesম্যানুয়ালি পরিবর্তন করুন ।
মাভেন ব্যবহার করে স্ক্র্যাচ থেকে মোড়ক তৈরি করতে (আপনার এটি ইতিমধ্যে PATHচালু রয়েছে:
mvn io.takari:maven:wrapper -Dmaven=3.3.9
ম্যাভেন আবরণ প্রকল্প ম্যাভেন (অথবা যে ব্যবহারকারীদের এ সব ম্যাভেন ইনস্টল করতে না চান জন্য) একটি নির্দিষ্ট সংস্করণের প্রয়োজন জন্য একটি চমৎকার পছন্দ। অপারেটিং সিস্টেমে এর বহু সংস্করণ ইনস্টল করার পরিবর্তে আমরা কেবলমাত্র প্রকল্প-নির্দিষ্ট র্যাপার স্ক্রিপ্টটি ব্যবহার করতে পারি।
এমভিএনডব্লিউ: এটি সম্পূর্ণরূপে ইনস্টলড মাভেনের জায়গায় ব্যবহারযোগ্য একটি ইউনিক্স শেল স্ক্রিপ্ট
mvnw.cmd : এটি উইন্ডোজ পরিবেশের জন্য
ব্যবহারের ক্ষেত্রে
মোড়কের বিভিন্ন অপারেটিং সিস্টেমের সাথে কাজ করা উচিত যেমন:
এর পরে, আমরা ইউনিক্স সিস্টেমের জন্য আমাদের লক্ষ্যগুলি এভাবে চালাতে পারি:
./mvnw clean install
এবং ব্যাচের জন্য নিম্নলিখিত কমান্ড:
./mvnw.cmd clean install
যদি আমাদের মোড়কের বৈশিষ্ট্যগুলিতে নির্দিষ্ট মাভেন না থাকে তবে এটি ডাউনলোড $USER_HOME/.m2/wrapper/distsকরে সিস্টেমের ফোল্ডারে ইনস্টল করা হবে।
মাভেন র্যাপার প্লাগইন
একটি সাধারণ স্প্রিং বুট প্রকল্পে অটো ইনস্টলেশন করতে মাভেন র্যাপার প্লাগইন ।
প্রথমত, আমাদের প্রকল্পের মূল ফোল্ডারে যেতে হবে এবং এই আদেশটি চালাতে হবে:
mvn -N io.takari:maven:wrapper
আমরা মাভেনের সংস্করণটিও নির্দিষ্ট করতে পারি:
mvn -N io.takari:maven:wrapper -Dmaven=3.5.2
অপশন-এন এর অর্থ অনন-রিকার্সিভ যাতে র্যাপারটি কেবলমাত্র কোনও ডিরেক্টরিের ক্ষেত্রে নয়, কেবল বর্তমান ডিরেক্টরিটির মূল প্রকল্পে প্রয়োগ করা হবে।
এখন অবধি সর্বোত্তম বিকল্পটি হ'ল কোনও খাঁজ পাত্রে কোনও বিল্ডার সরঞ্জাম হিসাবে ব্যবহার করবে। এর mvn.shমতো স্ক্রিপ্টই যথেষ্ট হবে:
#!/bin/bash
docker run --rm -ti \
-v $(pwd):/opt/app \
-w /opt/app \
-e TERM=xterm \
-v $HOME/.m2:/root/.m2 \
maven mvn "$@"
mvnমাভেন অপারেশনের জন্য কমান্ড ব্যবহার করছিলাম যদিও আমি./mvnwএকই উদ্দেশ্যে ব্যবহার করতে পারি ।