আমি কোনও ধরণের বিল্ড টুল ব্যবহার করার পরামর্শ দেব ( পিঁপড়া বা ম্যাভেন , পিঁপড়া ইতিমধ্যে প্রস্তাবিত এবং এর সাথে শুরু করা সহজ) বা একটি সংকলন পরিচালনা করে এমন একটি আইডিই (গ্রহণি পুনর্মিলন কৌশলটির সাথে বর্ধিত সংকলন ব্যবহার করে এবং আপনাকে এমনকি করতে হবে না) যে কোনও "সংকলন" বোতাম টিপতে যত্নশীল )।
জাভ্যাক ব্যবহার করা হচ্ছে
যদি আপনার কোনও বৃহত প্রকল্পের জন্য কিছু চেষ্টা করার প্রয়োজন হয় এবং আপনার কাছে নিকটস্থ কোনও যথাযথ বিল্ড সরঞ্জাম না রয়েছে, আপনি সর্বদা একটি ছোট কৌশল ব্যবহার করতে পারেন যা javac
অফার করে: সংকলনের জন্য ক্লাসের নামগুলি কোনও ফাইলে নির্দিষ্ট করা যায়। আপনাকে কেবল উপসর্গের javac
সাথে ফাইলটির নামটি দিতে হবে @
।
আপনি যদি *.java
আপনার প্রকল্পের সমস্ত ফাইলের একটি তালিকা তৈরি করতে পারেন তবে এটি সহজ:
# Linux / MacOS
$ find -name "*.java" > sources.txt
$ javac @sources.txt
:: Windows
> dir /s /B *.java > sources.txt
> javac @sources.txt
- সুবিধাটি হ'ল এটি একটি দ্রুত এবং সহজ সমাধান।
- অপূর্ণতাটি হ'ল
sources.txt
প্রতিবার নতুন উত্স তৈরি করার সময় আপনাকে ফাইলটি পুনরায় জেনারেট করতে হবে বা বিদ্যমান ফাইলটি পুনরায় নামকরণ করতে হবে যা ভুলে যাওয়া সহজ (ত্রুটি-প্রবণ) এবং ক্লান্তিকর কাজ।
একটি বিল্ড টুল ব্যবহার করে
দীর্ঘমেয়াদে এমন একটি সরঞ্জাম ব্যবহার করা ভাল যা সফ্টওয়্যার তৈরির জন্য ডিজাইন করা হয়েছিল।
পিঁপড়া ব্যবহার
আপনি যদি একটি সাধারণ build.xml
ফাইল তৈরি করেন যা সফ্টওয়্যারটি কীভাবে তৈরি করবেন তা বর্ণনা করে:
<project default="compile">
<target name="compile">
<mkdir dir="bin"/>
<javac srcdir="src" destdir="bin"/>
</target>
</project>
নিম্নলিখিত কমান্ডটি চালিয়ে আপনি সম্পূর্ণ সফ্টওয়্যারটি সংকলন করতে পারেন:
$ ant
- সুবিধাটি হ'ল আপনি একটি স্ট্যান্ডার্ড বিল্ড টুল ব্যবহার করছেন যা প্রসারিত করা সহজ।
- অপূর্ণতা হ'ল আপনাকে একটি অতিরিক্ত সরঞ্জাম ডাউনলোড করতে হবে, সেট আপ করতে হবে এবং শিখতে হবে। নোট করুন যে বেশিরভাগ আইডিই (যেমন নেটবিয়ানস এবং ইক্লিপস) বিল্ড ফাইলগুলি লেখার জন্য দুর্দান্ত সমর্থন দেয় যাতে আপনাকে এই ক্ষেত্রে কোনও কিছুই ডাউনলোড করতে হবে না।
মাভেন ব্যবহার করা হচ্ছে
ম্যাভেন সেটআপ এবং কাজ করার জন্য তুচ্ছ নয়, তবে এটি শেখা ভাল মূল্য দেয়। 5 মিনিটের মধ্যে একটি প্রকল্প শুরু করার জন্য এখানে দুর্দান্ত টিউটোরিয়াল ।
- এটির প্রধান সুবিধা (আমার জন্য) হ'ল এটি নির্ভরতাও পরিচালনা করে, সুতরাং আপনার আর কোনও জার ফাইল ডাউনলোড করার দরকার নেই এবং সেগুলি হাত দ্বারা পরিচালনা করার দরকার নেই এবং বড় প্রকল্পগুলি বিল্ডিং, প্যাকেজিং এবং পরীক্ষার জন্য আমি এটিকে আরও দরকারী বলে মনে করি।
- অসুবিধাটি হ'ল এতে একটি খাড়া শেখার বক্ররেখা রয়েছে, এবং যদি মাভেন প্লাগইনগুলি ত্রুটিগুলি দমন করতে পছন্দ করে :-) আরেকটি বিষয় হ'ল বেশ কয়েকটি সরঞ্জাম মাভেন সংগ্রহস্থলগুলির সাথেও কাজ করে (যেমন এসবিটি ফর স্কাল, পিঁপড়ের জন্য আইভি , গ্রোভির জন্য গ্রেডল ) ।
একটি আইডিই ব্যবহার করে
এখন যা আপনার বিকাশের উত্পাদনশীলতা বাড়িয়ে তুলতে পারে। কয়েকটি ওপেন সোর্স বিকল্প রয়েছে (যেমন এক্লিপস এবং নেটবিয়ানস , আমি পূর্বেরটিকে পছন্দ করি) এবং এমনকি বাণিজ্যিকগুলি ( ইন্টেলিজির মতো ) যা বেশ জনপ্রিয় এবং শক্তিশালী।
তারা ব্যাকগ্রাউন্ডে প্রকল্পের বিল্ডিং পরিচালনা করতে পারে যাতে আপনাকে সমস্ত কমান্ড লাইন স্টাফের সাথে ডিল করতে হবে না। যাইহোক, ব্যাকগ্রাউন্ডে আসলে কী ঘটে তা আপনি যদি জেনে থাকেন তবে এটি সর্বদা কার্যকর হয় যাতে আপনি একটি এর মতো মাঝে মাঝে ত্রুটিগুলি খুঁজে বের করতে পারেন ClassNotFoundException
।
একটি অতিরিক্ত নোট
বড় প্রকল্পগুলির জন্য, এটি সর্বদা আইডিই এবং একটি বিল্ড সরঞ্জাম ব্যবহার করার পরামর্শ দেওয়া হয় । প্রাক্তনটি আপনার উত্পাদনশীলতা বাড়িয়ে তোলে, তবে আধুনিককৃতরা প্রকল্পের সাথে বিভিন্ন আইডিই ব্যবহার করা সম্ভব করে তোলে (উদাহরণস্বরূপ, মাভেন একটি সহজ mvn eclipse:eclipse
কমান্ডের সাথে এক্লিপস প্রকল্প বর্ণনাকারী তৈরি করতে পারে )। তদুপরি, একটি প্রকল্প যা একটি সিঙ্গেল লাইন কমান্ড দিয়ে পরীক্ষা / বিল্ট করা যায় তা নতুন সহকর্মীদের সাথে পরিচিত এবং উদাহরণস্বরূপ একটি অবিচ্ছিন্ন ইন্টিগ্রেশন সার্ভারে পরিচিত করা সহজ। খুবই সহজ :-)