.ক্লাসপথ এবং .প্রজেক্ট - সংস্করণ নিয়ন্ত্রণ পরীক্ষা করুন বা না?


89

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

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


উত্তর:


66

অবশ্যই হ্যাঁ, যেমনটি আমি বলেছিলাম " আপনি কি আপনার প্রকল্পের ফাইলগুলিকে সংস্করণ নিয়ন্ত্রণে রাখছেন? "

"এটি লোড করুন, সেট আপ করুন, যান।"

তবে ... এটি শুধুমাত্র সাম্প্রতিক Eclipse3.5 সেটিংসের ক্ষেত্রে সত্য, যেখানে রাস্তাগুলি আপেক্ষিক পাথ সমর্থন করে :

বিল্ড পাথ আপেক্ষিক পাথকে সমর্থন করে


এবং Eclipse3.6 আরও ভাল হবে কারণ এটি পাথ ভেরিয়েবলগুলির জন্য আপেক্ষিক পাথগুলিকে সমর্থন করে Linked Resources:

আপেক্ষিক পাথ সহ পাথের পরিবর্তনশীল
(৩.6 এম 5 সাল থেকে)


4
বাহ, আমি জানতাম না তারা এগুলি যুক্ত করেছে ... আমাদের কিছুটা বাঁচাতে পারত
উরি

দেখে মনে হচ্ছে এই উত্তরটির সাথে যুক্ত চিত্রগুলি অফ-লাইন।
vkraemer

4
@vkraemer: সত্য। আমি এখন এই দুটি ছবি পুনরুদ্ধার করেছি, প্রথমটি আর্কাইভ.স্লিপস.আর. / ক্লিপস / ডাউনলোডস / ড্রপস / আর -৩.৫-২০০০6১১১40০৪০/৮ এবং দ্বিতীয়টি ডাউনলোড.ইটিমিস / এমিরার / সেলিপস / আর ৩..6 থেকে এসেছে -201006080911./…
ভোনসি

17

অবশ্যই না - সাবভার্শনের মাধ্যমে প্রকল্প ফাইলগুলি বিতরণ করা সাধারণত ভয়ানক ধারণা। বিশেষত যেহেতু কেউ তাদের কিছু অদ্ভুত উপায়ে পরিবর্তন করতে পারে। প্রকল্পের ডকুমেন্টেশনের একটি ভাল পৃষ্ঠা একটি আরও ভাল ধারণা। আমাদের প্রকল্পেও অনেকগুলি মডিউল এবং একটি জটিল সেটআপ রয়েছে। আমরা প্রতিটি পপুলার আইডিই - ইন্টেলিজ, এক্সলিপস, নেটবিয়ানগুলিতে কীভাবে প্রকল্পটি শুরু করতে হবে তার বর্ণনা দিয়ে একটি संगম পৃষ্ঠাটি সেট করেছি। সাবভার্শনে একটি README ফাইলের একই তথ্য রয়েছে।


32
আমি একমত হতে পারি না আমার অভিজ্ঞতা থেকে চেকআউটটিকে যতটা সম্ভব সহজ করার জন্য থাইসে ফাইলগুলি পরীক্ষা করা ভাল। কেউ কিছু অদ্ভুতভাবে তাদের পরিবর্তন করতে পারে? কেউ হয়ত আপনার কোডটি কিছু অদ্ভুত উপায়ে পরিবর্তন করতে পারেন ...
আর্নে

আরে, আপনার এটি উত্তর দেওয়া উচিত, কোনও মন্তব্য নয়।
আমারিলিয়ন

4
কোনও আইডিইর জন্য প্রকল্প ফাইলগুলি আসলে কোনও প্রকল্পের অংশ নয় - আপনি যদি এগুলি বিতরণ করতে চান - অ্যাশেড হন - আমার উল্লেখ করা নিবন্ধের সাথে সেগুলি সংযুক্ত করুন। সাধারণত একটি দলের প্রত্যেকেই রেপোতে ফাইলগুলি সংশোধন করতে পারে, তবে সবাই গুরুত্বপূর্ণ ডকুমেন্টেশন নোডগুলিতে নতুন ফাইল সংযুক্ত করতে পারে না etc. ইত্যাদি কারও পক্ষে ক্লাসপাথ এবং প্রকল্পের ফাইলগুলি উপেক্ষা করা ভুলে যাওয়া এবং যখন সে না করা উচিত তখন তাদের প্রতিশ্রুতি দেওয়া খুব সহজ। এমনকি যদি আপনি এগুলিকে বিভ্রান্তিতে রাখেন - আপনার অবশ্যই তাদের অবশ্যই কোথাও কোথাও রাখা উচিত ...
বোঝিদার বাতসভ

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

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

10

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


m2e আপনার জন্য সবচেয়ে বেশি করে কিন্তু সব কিছু করে না
জুনচেন লিউ

6

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

    <classpathentry kind="con" 
      path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Java SE 7"/>

সুতরাং আমার ম্যাকে এটি কাজ করে এবং ম্যাকের কারওর মতো জেআরই রয়েছে তবে এটি অন্য কারও জন্য কাজ করবে না।

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

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

সুতরাং আমি বলছি: .settingsডিরেক্টরি প্রবর্তন কনফিগারেশনের জন্য উত্স নিয়ন্ত্রণে চলে যায় (* .প্রিফগুলি ব্যতীত)

.classpath বাইরে থাকে

.project যায়.


জেআরই / জেভিএম-র জন্য কার্যকর পরিবেশ ব্যবহার করার সময়ও কি এই অবস্থা?
মিস্টার_আর_মিসি_ডি

5

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

ফাইলগুলি যদি এমনভাবে যাচাই করা হয় যে প্রকল্পটি স্ক্র্যাচ থেকে চালিত হয় তবে সেগুলি পরিবর্তন করার জন্য খুব বেশি বাহিনী থাকা উচিত নয়।


5

আমি আপনাকে সুপারিশ করব যে আপনি যদি ফাইলগুলিকে সাবস্ট্রেশন হিসাবে পরীক্ষা করেন তবে তাদের যদি নিখুঁত পাথ এবং অন্যান্য ডেটা না থাকে যা এগুলি সরাসরি একক বিকাশকারীর পরিবেশে বাঁধা থাকে।

যদি ফাইলগুলিতে নিখুঁত পাথ এবং এগুলি থাকে তবে একটি README আরও ভাল পছন্দ হবে।


2

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

আপনি যদি এগুলি চেক না করেন, তবে যে কেউ প্রকল্পটি যাচাই করছেন তাদের সেই সমস্ত সেটিংস পুনরায় তৈরি করতে হবে যা বিরক্তিকর এবং সম্ভাব্য ত্রুটির প্রবণ।

কিছু জটিল সেটআপগুলি এই ফাইলগুলি তৈরি করতে কোনও স্ক্রিপ্ট দ্বারা আরও ভালভাবে পরিচালনা করা যেতে পারে তবে সাধারণত সেগুলি পরীক্ষা করে নেওয়া ভাল।

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