এমভিএন ইনস্টল বা এমভিএন প্যাকেজ


134

আমি মাভেনে নতুন, আমার মাই ক্লিপসে কনফিগার করা মাভেন সহ আমার একটি জাভা ভিত্তিক ওয়েব প্রকল্প রয়েছে।
এখন যদি আমি কোন জাভা ফাইল মডিফাই তারপর আমি যা করতে হবে না Run as -> Mvn installবা Mvn package?

উত্তর:


158

http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html থেকে

package: সংকলিত কোডটি নিন এবং এটির বিতরণযোগ্য বিন্যাসে প্যাকেজ করুন, যেমন জেআর।

install: স্থানীয়ভাবে অন্যান্য প্রকল্পের নির্ভরতা হিসাবে ব্যবহারের জন্য প্যাকেজটি স্থানীয় সংগ্রহস্থলে ইনস্টল করুন

সুতরাং আপনার প্রশ্নের উত্তর হ'ল এটি আপনার স্থানীয় রেপোতে আপনি ইনস্টল করতে চান কিনা তার উপর নির্ভর করে। ইনস্টল এছাড়াও প্যাকেজ চালাবে কারণ এটি লক্ষ্য পর্বের স্ট্যাকের চেয়ে বেশি।


আমার একটি প্রকল্প রয়েছে যেখানে আমি মূল ফোল্ডার কোড এবং পরীক্ষার ফোল্ডার কোডটিকে জারে রূপান্তর করছি। তারপরে, আমি এটিকে নেক্সাসে স্থাপন করতে চাই যাতে এটি অন্যান্য প্রকল্পগুলি ব্যবহার করতে পারে। আমার ডিপ্লয় কমান্ডটি "এমভিএন ক্লিন ডিপ্লয় -ডস্কিপটিস্টস"। স্থানীয় রেপো ইনস্টল করার পরিবর্তে আমি কি এই আদেশটি প্যাকেজটি তৈরি করতে পারি?
মাস্টারজয়ে

@ মাস্টারজো 2 "তারপরে, আমি এটি নেক্সাসে স্থাপন করতে চাই" এটিই deployঘটে। আপনি যদি এটির সাথে প্রতিস্থাপন করেন তবে packageএটি নেক্সাসে স্থাপন করা হবে না।
ওয়ালেন

37

mvn installবিকল্পটি যা প্রায়শই ব্যবহৃত হয়।
mvn packageখুব কমই ব্যবহৃত হয়, কেবল যদি আপনি ম্যাভেন বিল্ড প্রক্রিয়াটির সাথে কোনও সমস্যা ডিবাগ করেন।

দেখুন: http://maven.apache.org/guides/intr پيداوار / intr پيداوار-to-the-lifecycle.html

নোট যেটি mvn packageকেবল একটি জার ফাইল তৈরি করবে।
mvn installতা করতে হবে এবং সঠিক স্থানে বয়াম (এবং শ্রেণী ইত্যাদি) ইনস্টল ফাইল যদি অন্য কোড ঐ বয়াম উপর নির্ভর করে।

আমি সাধারণত একটি করি mvn clean install; এটি targetডিরেক্টরি মুছে ফেলে এবং সেই জায়গার সমস্ত জারকে পুনরায় তৈরি করে।
ক্লিনটি অপ্রয়োজনীয় বা সরানো স্টাফগুলিতে সহায়তা করে যা মাঝে মাঝে পথে যেতে পারে।
তারপরে ডিবাগ করুন (কিছু সময়) কেবল নতুন সময় শুরু করুন।


27
আমি দ্বিমত করি যে প্যাকেজটি খুব কম 2 পয়েন্টে ব্যবহৃত হয়। 1) এটি ইনস্টল চালানোর সময় এটি রান হয়ে যায়। 2) আপনি যদি .war তৈরি করে থাকেন তবে আপনার স্থানীয় রেপোতে যুদ্ধের দরকার না হওয়ায় কেবল প্যাকেজ চলছে।
জোশুয়া উইলসন

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

11

থেকে লাইফ সাইকল রেফারেন্স , ইনস্টল প্রকল্পের ইন্টিগ্রেশন পরীক্ষার চালানো হবে, প্যাকেজ না।

আপনার যদি উত্পন্ন শিল্পকর্মগুলি সত্যই ইনস্টল না করার দরকার হয় তবে কমপক্ষে যাচাই করুন


5

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


4

আপনি যদি রিমোট রিপোজিটরি ব্যবহার করেন না (যেমন কারিগর হিসাবে), তবে পুরানো সরল ব্যবহার করুন: mvn clean install

খুব পুরানো বিষয় কিন্তু আফাইক, যদি আপনি নিজের দল (গুলি) এর মধ্যে বয়াম ভাগ করে নিতে নিজের সংগ্রহস্থল (উদাহরণস্বরূপ: কারুকার্য সহ) চালনা করেন তবে আপনি ব্যবহার করতে পারেন

mvn clean deploy

পরিবর্তে.

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


1
আমার মনে হয় আপনি এমভিএন ক্লিন মোতায়েনের কথা বলছেন, এমভিএন ক্লিন প্যাকেজ নয়
মেজাক

2

প্যাকেজ - সংকলিত কোড নেয় এবং এটির বিতরণযোগ্য বিন্যাসে প্যাকেজ করে, যেমন জেআর বা ওয়ার ফাইল হিসাবে। স্থানীয়ভাবে অন্যান্য প্রকল্পের নির্ভরতা হিসাবে ব্যবহারের জন্য স্থানীয় সংগ্রহস্থলে প্যাকেজটি ইনস্টল করুন


2

সঠিক উপায়mvn package যদি আপনি আপনার বিল্ড কোর অংশ জন্য সঠিকভাবে কাজ করেছিল পরে স্থানীয় সংগ্রহস্থলের মধ্যে আপনার প্যাকেজগুলি ইনস্টল করার কোন প্রয়োজন সেখানে উচিত।

এছাড়াও আপনি যদি ট্র্যাভিস ব্যবহার করেন তবে আপনি আপনার নির্ভরতাগুলি "ক্যাশে" করতে পারেন কারণ এটি আপনার স্পর্শ করবে না $HOME.m2/repository আপনি যদি নিজের প্রকল্পের জন্য প্যাকেজ ব্যবহার করেন তবে ।

ব্যবহারিকতায় যদি আপনি এমনকি একটি করার চেষ্টা করেন তবে mvn siteসাধারণত আপনার mvn installআগে করা উচিত। উভয়টি সহ কেবলমাত্র অনেকগুলি বাগ রয়েছে siteবা এটির অনেকগুলি দুর্বল রক্ষণাবেক্ষণকৃত প্লাগইন রয়েছে।


0

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

আমি যেমন বলছি, এটি নির্ভর করে আপনি কী করতে চান depends

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